High performance distributed framework for training deep learning recommendation models based on PyTorch.

Overview


tutorials Documentation Status PyPI version Docker Pulls license

PERSIA (Parallel rEcommendation tRaining System with hybrId Acceleration) is developed by AI platform@Kuaishou Technology, collaborating with ETH. It is a PyTorch-based (the first public one to our best knowledge) system for training large scale deep learning recommendation models on commodity hardwares. It is capable of training recommendation models with up to 100 trillion parameters. To the best of our knowledge, this is the largest model size in recommendation systems so far. Empirical study on public datasets indicate PERSIA's significant advantage over several other existing training systems in recommendation [1]. Its efficiency and robustness have also been validated by multiple applications with 100 million level DAU at Kuaishou.

Disclaimer: The program is usable and has served several important businesses. However, the official English documentation and tutorials are still under heavy construction (there are some materials on the tutorials website, but they are pretty raw). We encourage adventurers to try out PERSIA and contribute!

News

  • AI Engines in the "Short-video" Era: Eating 100 Trillion Parameters, Invited talk, Facebook, 2021.
  • 单机训练速度提升 640 倍!独家解读快手商业广告模型 GPU 训练平台 PERSIA (In Chinese. Title: 640x Faster GPU Based Learning System for Ad Recommendation)
  • 创新、平衡与大格局:快手商业化的慢与快 (In Chinese. Title: Innovation, Balance, and Big Picture: The Speed of Kwai Commercialization)

Links

Discussion

Feel free to join our Telegram Group for discussion!

References

  1. Xiangru Lian, Binhang Yuan, Xuefeng Zhu, Yulong Wang, Yongjun He, Honghuan Wu, Lei Sun, Haodong Lyu, Chengjun Liu, Xing Dong, Yiqiao Liao, Mingnan Luo, Congfei Zhang, Jingru Xie, Haonan Li, Lei Chen, Renjie Huang, Jianying Lin, Chengchun Shu, Xuezhong Qiu, Zhishan Liu, Dongying Kong, Lei Yuan, Hai Yu, Sen Yang, Ce Zhang, & Ji Liu. (2021). Persia: A Hybrid System Scaling Deep Learning Based Recommenders up to 100 Trillion Parameters.

  2. Ji Liu & Ce Zhang. (2021). Distributed Learning Systems with First-order Methods.

License

This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.

Comments
  • The throughput is extremely low

    The throughput is extremely low

    I adopted Persia to implement a DLRM and run it over Criteo Kaggle dataset.
    I set batch size to 1024, and below is the content of docker-compose.yml:

    version: "3.2"
    services:
      persia_nats_service:
        image: nats:latest
        deploy:
          replicas: 1
    
      data_loader1:
        env_file:
          - .docker.env
        depends_on:
          - nn_worker
          - embedding_worker
          - persia_nats_service
        image: persia-dlrm
        command: persia-launcher data-loader --replica-index 0 --replica-size 2
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
    
      data_loader2:
        env_file:
          - .docker.env
        depends_on:
          - nn_worker
          - embedding_worker
          - persia_nats_service
        image: persia-dlrm
        command: persia-launcher data-loader --replica-index 1 --replica-size 2
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
    
      nn_worker:
        env_file:
          - .docker.env
        environment:
          NCCL_SOCKET_IFNAME: eth0
          CUBLAS_WORKSPACE_CONFIG: :4096:8
        image: persia-dlrm
        command: persia-launcher nn-worker --nproc-per-node 1 --nnodes 1 --node-rank 0
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
    
      embedding_worker1:
        env_file:
          - .docker.env
        depends_on:
          - embedding_parameter_server
        image: persia-dlrm
        command: >
          bash -c "persia-launcher embedding-worker --embedding-config $$PERSIA_EMBEDDING_CONFIG
          --global-config $$PERSIA_GLOBAL_CONFIG --replica-index 0 --replica-size 2"
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
    
      embedding_worker2:
        env_file:
          - .docker.env
        depends_on:
          - embedding_parameter_server
        image: persia-dlrm
        command: >
          bash -c "persia-launcher embedding-worker --embedding-config $$PERSIA_EMBEDDING_CONFIG
          --global-config $$PERSIA_GLOBAL_CONFIG --replica-index 1 --replica-size 2"
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
    
      embedding_parameter_server1:
        env_file:
          - .docker.env
        image: persia-dlrm
        command: >
          bash -c "persia-launcher embedding-parameter-server --embedding-config $$PERSIA_EMBEDDING_CONFIG
          --global-config $$PERSIA_GLOBAL_CONFIG --replica-index 0 --replica-size 2"
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
    
      embedding_parameter_server2:
        env_file:
          - .docker.env
        image: persia-dlrm
        command: >
          bash -c "persia-launcher embedding-parameter-server --embedding-config $$PERSIA_EMBEDDING_CONFIG
          --global-config $$PERSIA_GLOBAL_CONFIG --replica-index 1 --replica-size 2"
        deploy:
          replicas: 1
          restart_policy:
            condition: on-failure
        volumes:
          - type: bind
            source: .
            target: /workspace
          - type: bind
            source: ../criteo_kaggle
            target: /workspace/criteo_kaggle
    

    Here's a screenshot of the running process image

    As you can see, the throughput is about 30 it/s. Since the batch size is 1024, the throughput is only half of the results reported in your paper. I also notice that the logger kept warning that the local forwarded queue is empty, and these processes didn't cost any GPU memory. Is there any problem about my settings or, do you guys have any suggestions on how to improve the throughput?

    question wontfix 
    opened by zxgx 4
  • chore(deps): bump serde_bytes from 0.11.5 to 0.11.8 in /rust

    chore(deps): bump serde_bytes from 0.11.5 to 0.11.8 in /rust

    Bumps serde_bytes from 0.11.5 to 0.11.8.

    Release notes

    Sourced from serde_bytes's releases.

    0.11.8

    • Documentation improvements

    0.11.7

    • Add categories and keywords to crates.io metadata

    0.11.6

    • Add rust-version entry to Cargo.toml to declare the oldest supported compiler version
    Commits
    • 68fe3ab Release 0.11.8
    • c90173f Update build status badge
    • f4f82f4 Time out workflows after 45 minutes
    • 3491bb2 MIT copyright line
    • 427c2ae Remove default package.readme metadata from Cargo.toml
    • 9284df4 GitHub Workflows security hardening
    • 29c9985 Release 0.11.7
    • 306113f Update keywords in crates.io metadata
    • d762845 Add no-std category to crates.io metadata
    • b96a46e Sort package entries in Cargo.toml
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump quote from 1.0.10 to 1.0.23 in /rust

    chore(deps): bump quote from 1.0.10 to 1.0.23 in /rust

    Bumps quote from 1.0.10 to 1.0.23.

    Release notes

    Sourced from quote's releases.

    1.0.23

    • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

    1.0.22

    • Documentation improvements

    1.0.21

    • Add keywords to crates.io metadata

    1.0.20

    • Remove workaround for dealing with invalid spans on new enough compilers (#224, thanks @​mystor)
    • Use Ident::new_raw to quote raw identifiers (#225, thanks @​mystor)

    1.0.19

    • Improve the way rustc's -Zunpretty=expanded renders quote's expanded code (#221)

    1.0.18

    • Special case quote!/quote_spanned! for inputs of size 1 and 2 tokens to improve performance (#217, thanks @​nnethercote)
    • Documentation improvement (#219)

    1.0.17

    • Documentation improvements

    1.0.16

    1.0.15

    1.0.14

    • Optimization to reduce calls over the proc macro bridge (#203)

    1.0.13

    • Documentation improvements

    1.0.12

    • Fix proc-macro2 dependency to work with -Zminimal-versions builds

    1.0.11

    • Improve performance of quote invocations involving literals, lifetimes, and underscore tokens
    Commits
    • 550af67 Release 1.0.23
    • b0337d0 Opt out -Zrustdoc-scrape-examples on docs.rs
    • 2386c5a Release 1.0.22
    • ead304a Update build status badge
    • 51d3bd2 Update ui test suite to nightly-2022-12-15
    • 2922a8e Time out workflows after 45 minutes
    • 6f42f3c Fix renamed let_underscore_drop lint
    • b2e30cc MIT copyright line
    • efc9b69 Ui test changes for trybuild 1.0.66
    • 1e2b198 Raise minimum tested toolchain to rust 1.56
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump async-lock from 2.4.0 to 2.6.0 in /rust

    chore(deps): bump async-lock from 2.4.0 to 2.6.0 in /rust

    Bumps async-lock from 2.4.0 to 2.6.0.

    Release notes

    Sourced from async-lock's releases.

    v2.6.0

    • Add OnceCell. (#27)
    • Support wasm64.

    v2.5.0

    • Fix an issue where the future returned by Mutex::lock_arc/Semaphore::acquire_arc holds a reference to self. (#20, #21)
    Changelog

    Sourced from async-lock's changelog.

    Version 2.6.0

    • Add OnceCell. (#27)
    • Support wasm64.

    Version 2.5.0

    • Fix an issue where the future returned by Mutex::lock_arc/Semaphore::acquire_arc holds a reference to self. (#20, #21)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump serde from 1.0.130 to 1.0.151 in /rust

    chore(deps): bump serde from 1.0.130 to 1.0.151 in /rust

    Bumps serde from 1.0.130 to 1.0.151.

    Release notes

    Sourced from serde's releases.

    v1.0.151

    • Update serde::{ser,de}::StdError to re-export core::error::Error when serde is built with feature="std" off and feature="unstable" on (#2344)

    v1.0.150

    • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#2334)
    • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#2337, thanks @​badboy)

    v1.0.149

    • Relax some trait bounds from the Serialize impl of BinaryHeap, BTreeSet, and HashSet (#2333, thanks @​jonasbb)

    v1.0.148

    • Support remote derive for generic types that have private fields (#2327)

    v1.0.147

    • Add serde::de::value::EnumAccessDeserializer which transforms an EnumAccess into a Deserializer (#2305)

    v1.0.146

    • Allow internally tagged newtype variant to contain unit (#2303, thanks @​tage64)

    v1.0.145

    • Allow RefCell<T>, Mutex<T>, and RwLock<T> to be serialized regardless of whether T is Sized (#2282, thanks @​ChayimFriedman2)

    v1.0.144

    • Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types (#2263, thanks @​taiki-e)

    v1.0.143

    • Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (#2253, thanks @​taiki-e)

    v1.0.142

    • Add keywords to crates.io metadata

    v1.0.141

    • Add no-std category to crates.io metadata

    v1.0.140

    • Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain (#2251, thanks @​taiki-e)

    v1.0.139

    • Add new constructor function for all IntoDeserializer impls (#2246)

    v1.0.138

    • Documentation improvements

    v1.0.137

    • Update documentation links to some data formats whose repos have moved (#2201, thanks @​atouchet)
    • Fix declared rust-version of serde and serde_test (#2168)

    v1.0.136

    • Improve default error message when Visitor fails to deserialize a u128 or i128 (#2167)

    ... (truncated)

    Commits
    • 44bf363 Release 1.0.151
    • f261184 Merge pull request #2344 from dtolnay/coreerror
    • df40f80 Make StdError identical to core::error::Error on feature="unstable"
    • e7060ba Merge pull request #2342 from atouchet/badges
    • d98f0ee Update build status badge
    • 4f157a8 Prevent build.rs rerunning unnecessarily on all source changes
    • d493649 Release 1.0.150
    • 0e947e6 Merge pull request #2338 from serde-rs/atomic
    • 9249dab Deduplicate atomic_impl macro calls
    • 7440e56 Deduplicate atomic_impl macro implementations
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump rayon from 1.5.1 to 1.6.1 in /rust

    chore(deps): bump rayon from 1.5.1 to 1.6.1 in /rust

    Bumps rayon from 1.5.1 to 1.6.1.

    Changelog

    Sourced from rayon's changelog.

    Release rayon 1.6.1 (2022-12-09)

    • Simplified par_bridge to only pull one item at a time from the iterator, without batching. Threads that are waiting for iterator items will now block appropriately rather than spinning CPU. (Thanks @​njaard!)
    • Added protection against recursion in par_bridge, so iterators that also invoke rayon will not cause mutex recursion deadlocks.

    Release rayon-core 1.10.1 (2022-11-18)

    • Fixed a race condition with threads going to sleep while a broadcast starts.

    Release rayon 1.6.0 / rayon-core 1.10.0 (2022-11-18)

    • The minimum supported rustc is now 1.56.
    • The new IndexedParallelIterator::fold_chunks and fold_chunks_with methods work like ParallelIterator::fold and fold_with with fixed-size chunks of items. This may be useful for predictable batching performance, without the allocation overhead of IndexedParallelIterator::chunks.
    • New "broadcast" methods run a given function on all threads in the pool. These run at a sort of reduced priority after each thread has exhausted their local work queue, but before they attempt work-stealing from other threads.
      • The global broadcast function and ThreadPool::broadcast method will block until completion, returning a Vec of all return values.
      • The global spawn_broadcast function and methods on ThreadPool, Scope, and ScopeFifo will run detached, without blocking the current thread.
    • Panicking methods now use #[track_caller] to report the caller's location.
    • Fixed a truncated length in vec::Drain when given an empty range.

    Contributors

    Thanks to all of the contributors for this release!

    Release rayon 1.5.3 (2022-05-13)

    • The new ParallelSliceMut::par_sort_by_cached_key is a stable sort that caches the keys for each item -- a parallel version of slice::sort_by_cached_key.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump syn from 1.0.81 to 1.0.105 in /rust

    chore(deps): bump syn from 1.0.81 to 1.0.105 in /rust

    Bumps syn from 1.0.81 to 1.0.105.

    Release notes

    Sourced from syn's releases.

    1.0.105

    • Improve parse errors related to dyn and impl type syntax (#1245)

    1.0.104

    • Add PathArguments::is_none()

    1.0.103

    1.0.102

    • More efficient internal representation for TokenBuffer (#1223, thanks @​CAD97)
    • Fix parsing of a left shift after macro metavariable in type position (#1229)

    1.0.101

    • Eliminate a bunch of redundant work done by LitStr::parse (#1221)

    1.0.100

    1.0.99

    • Add categories and keywords to crates.io metadata

    1.0.98

    • Format example code with rustfmt

    1.0.97

    • Update examples

    1.0.96

    • Add a punct_mut() method on syn::punctuated::Pair to return Option<&mut P> (#1183)

    1.0.95

    1.0.94

    • Resolve some unused_macro_rules warnings

    1.0.93

    • Fix compile error when Some means something unusual in the expression namespace of the scope where custom_keyword is invoked (#1171, thanks @​zakarumych)

    1.0.92

    1.0.91

    • impl ToTokens for RangeLimits
    • impl Parse for ExprAwait
    • impl Parse for GenericMethodArgument

    ... (truncated)

    Commits
    • 998e863 Release 1.0.105
    • 02e2a21 Merge pull request #1247 from dtolnay/punctdrop
    • 9113ad0 Help infer may_dangle on type parameter of Punctuated iterator Drop impls
    • 3eaa443 Add regression test for issue 1246
    • 17f9a5c Merge pull request #1245 from dtolnay/bounds
    • db874dd Improve dyn/impl-related parse errors
    • b8b0761 Move TypeParamBound parse loop to associated function
    • 3e915e5 Clean up naming in rustc syntax tree manipulation
    • ecacc47 Import token::Lit now there's no conflict with MetaItemLit
    • 2647b2a Update test suite to nightly-2022-11-29
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump hyper from 0.14.15 to 0.14.22 in /rust

    chore(deps): bump hyper from 0.14.15 to 0.14.22 in /rust

    Bumps hyper from 0.14.15 to 0.14.22.

    Release notes

    Sourced from hyper's releases.

    v0.14.22

    Bug Fixes

    • server: fix compile-time cfgs for TCP keepalive options (#3039) (e8765e0f, closes #3038)

    v0.14.21

    Bug Fixes

    • client: send an error back to client when dispatch misbehaves () (9fa36382, closes #2649)
    • http1: fix http1_header_read_timeout to use same future (#2891) (c5a14e7c)

    Features

    • http1: allow ignoring invalid header lines in requests (73dd4746)
    • server: add Server::tcp_keepalive_interval and Server::tcp_keepalive_retries (#2991) (287d7124)

    New Contributors

    v0.14.20

    Bug Fixes

    • http1: fix http1_header_read_timeout to use same future (#2891) (c5a14e7c)

    Features

    • ext: support non-canonical HTTP/1 reason phrases (#2792) (b2052a43)

    New Contributors

    v0.14.19

    Bug Fixes

    • http1: fix preserving header case without enabling ffi (#2820) (6a35c175)
    • server: don't add implicit content-length to HEAD responses (#2836) (67b73138)

    Features

    Breaking Changes

    ... (truncated)

    Changelog

    Sourced from hyper's changelog.

    v0.14.22 (2022-10-31)

    Bug Fixes

    • server: fix compile-time cfgs for TCP keepalive options (#3039) (e8765e0f, closes #3038)

    v0.14.21 (2022-10-31)

    Bug Fixes

    • client: send an error back to client when dispatch misbehaves () (9fa36382, closes #2649)
    • http1: fix http1_header_read_timeout to use same future (#2891) (c5a14e7c)

    Features

    • http1: allow ignoring invalid header lines in requests (73dd4746)
    • server: add Server::tcp_keepalive_interval and Server::tcp_keepalive_retries (#2991) (287d7124)

    v0.14.20 (2022-07-07)

    Bug Fixes

    • http1: fix http1_header_read_timeout to use same future (#2891) (c5a14e7c)

    Features

    • ext: support non-canonical HTTP/1 reason phrases (#2792) (b2052a43)

    v0.14.19 (2022-05-27)

    Bug Fixes

    • http1: fix preserving header case without enabling ffi (#2820) (6a35c175)
    • server: don't add implicit content-length to HEAD responses (#2836) (67b73138)

    Features

    ... (truncated)

    Commits
    • 04d637e v0.14.22
    • e8765e0 fix(server): fix compile-time cfgs for TCP keepalive options (#3039)
    • 9ad4055 v0.14.21
    • 9fa3638 fix(client): send an error back to client when dispatch misbehaves (fixes #2649)
    • 78e2c58 chore(http2): add a server feature-gate on some server-only method
    • 73dd474 feat(h1): allow ignoring invalid header lines in requests
    • 287d712 feat(server): add Server::tcp_keepalive_interval and `Server::tcp_keepalive...
    • 0ff6213 v0.14.20
    • 128bc7f chore(lib): bump MSRV to 1.56 (#2902)
    • c5a14e7 fix(http1): fix http1_header_read_timeout to use same future (#2891)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump openssl from 0.10.38 to 0.10.44 in /rust

    chore(deps): bump openssl from 0.10.38 to 0.10.44 in /rust

    Bumps openssl from 0.10.38 to 0.10.44.

    Commits
    • e0b937c Release openssl v0.10.44
    • a1b82a2 Release openssl-sys v0.9.79
    • 54d4496 Merge pull request #1741 from wiktor-k/improve-docs
    • 6643d07 rustfmt
    • d299bbc Merge pull request #1740 from alexanderjordanbaker/X509LoadCertFile
    • 5ae938e Add support for X509_load_cert_file
    • d390c41 Add more elaborate ECDH example to openssl::derive
    • 9b851cd Add documentation to several openssl::ec items
    • a6af54e Move openssl::hash documentation to respective functions
    • b42a2b7 Add documentation to openssl::sign::Verifier
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump smallvec from 1.7.0 to 1.10.0 in /rust

    chore(deps): bump smallvec from 1.7.0 to 1.10.0 in /rust

    Bumps smallvec from 1.7.0 to 1.10.0.

    Release notes

    Sourced from smallvec's releases.

    v1.10.0

    • Add optional NatVis debugger visualization (#286).
    • Mark Array::size as inline (#289).

    v1.9.0

    • Add retain_mut as an alias for retain, for compatibility with std::vec::Vec (#283).

    v1.8.1

    • Optimize inserts at the end of the vector (#282).
    • Fix possible aliasing issues with raw pointers (#277).
    • Fix format of license field in Cargo manifest (#278).

    v1.8.0

    • Add optional support for the arbitrary crate (#275).
    Commits
    • c0766a0 Version 1.10.0
    • aa7e2cb Skip tests on 1.36
    • b960b3a Mark Array::size() as inline
    • e01054b Fix broken CI yaml script. Ensure a default value exists for the os matrix ...
    • 09b4988 Add Natvis definitions and tests for SmallVec type with and without the `unio...
    • 7fa951f Version 1.9.0
    • e9c2f0a Add retain_mut method (as an alias to retain)
    • 4ce5e16 Version 1.8.1
    • 7f9e513 Add a benchmark for the insert case where index == len.
    • b233568 Optimize insert for the case where index == len.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump indexmap from 1.7.0 to 1.9.2 in /rust

    chore(deps): bump indexmap from 1.7.0 to 1.9.2 in /rust

    Bumps indexmap from 1.7.0 to 1.9.2.

    Changelog

    Sourced from indexmap's changelog.

    • 1.9.2

      • IndexMap and IndexSet both implement arbitrary::Arbitrary<'_> and quickcheck::Arbitrary if those optional dependency features are enabled.
    • 1.9.1

      • The MSRV now allows Rust 1.56.0 as well. However, currently hashbrown 0.12.1 requires 1.56.1, so users on 1.56.0 should downgrade that to 0.12.0 until there is a later published version relaxing its requirement.
    • 1.9.0

      • MSRV: Rust 1.56.1 or later is now required.

      • The hashbrown dependency has been updated to version 0.12.

      • IterMut and ValuesMut now implement Debug.

      • The new IndexMap::shrink_to and IndexSet::shrink_to methods shrink the capacity with a lower bound.

      • The new IndexMap::move_index and IndexSet::move_index methods change the position of an item from one index to another, shifting the items between to accommodate the move.

    • 1.8.2

      • Bump the rustc-rayon dependency, for compiler use only.
    • 1.8.1

      • The new IndexSet::replace_full will return the index of the item along with the replaced value, if any, by @​zakcutner in PR 222.
    • 1.8.0

      • The new IndexMap::into_keys and IndexMap::into_values will consume the map into keys or values, respectively, matching Rust 1.54's HashMap methods, by @​taiki-e in PR [195].

      • More of the iterator types implement Debug, ExactSizeIterator, and FusedIterator, by @​cuviper in PR [196].

      • IndexMap and IndexSet now implement rayon's ParallelDrainRange, by @​cuviper in PR [197].

      • IndexMap::with_hasher and IndexSet::with_hasher are now const

    ... (truncated)

    Commits
    • 4d52cf3 Merge pull request #247 from cuviper/arbitrary-1.x
    • 4d41050 Release 1.9.2
    • bc1a12f Add an Arbitrary release note
    • 2251812 impl Arbitrary for IndexMap and IndexSet
    • fe98ec2 Revert "Run CI on 1.56.1 until next hashbrown release"
    • a638b99 Merge pull request #233 from cuviper/release-1.9.1
    • 3f6cdde Release 1.9.1
    • 3f8381a Run CI on 1.56.1 until next hashbrown release
    • 24a0c8f Revert "Bump MSRV to 1.56.1, matching hashbrown as of 0.12.1"
    • 844750f Fix the RELEASES.md link
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 3
  • chore(deps): bump snafu from 0.6.10 to 0.7.4 in /rust

    chore(deps): bump snafu from 0.6.10 to 0.7.4 in /rust

    Bumps snafu from 0.6.10 to 0.7.4.

    Changelog

    Sourced from snafu's changelog.

    0.7.4 - 2022-12-19

    Changed

    • Report and the [report] macro now remove redundant parts from the messages that many errors duplicate from their underlying sources.

    0.7.3 - 2022-10-20

    Fixed

    • The macro no longer generates invalid code when implicitly-generated types (such as backtraces) were used in conjunction with #[snafu(source(from))] and the type before transformation does not implement std::error::Error.

    [0.7.2] - 2022-10-09

    Added

    • Report can be returned from main or test functions to provide a user-friendly display of errors.

    • A cheat sheet for the most common #[snafu(...)] attribute usages has been added to the Snafu macro's documentation.

    • Optional support for using the standard library's std::backtrace::Backtrace type via the backtraces-impl-std feature flag.

    • Optional support for implementing the Provider API using the std::error::Error::provide method via the unstable-provider-api feature flag.

    • Optional support for implementing the core::error::Error trait instead of std::error::Error via the unstable-core-error feature flag.

    • GenerateImplicitData has a new method generate_with_source.

    Changed

    • ErrorCompat::iter_chain and ChainCompat are now available in no_std environments.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump thiserror from 1.0.30 to 1.0.38 in /rust

    chore(deps): bump thiserror from 1.0.30 to 1.0.38 in /rust

    Bumps thiserror from 1.0.30 to 1.0.38.

    Release notes

    Sourced from thiserror's releases.

    1.0.38

    • Documentation improvements

    1.0.37

    • Documentation improvements

    1.0.36

    1.0.35

    • More work on integrating std::any::Provider for backtrace support
    • Fix "Multiple applicable provide methods in scope" error when the caller has both std::error::Error and std::any::Provide traits in scope (#185)

    1.0.34

    • Tweak "generic member access" based Backtrace implementation (#184)

    1.0.33

    1.0.32

    • Add keywords to crates.io metadata

    1.0.31

    • Improve diagnostic when there is an enum variant containing #[from] #[backtrace] Error, Backtrace (#163)
    Commits
    • 74bfe75 Release 1.0.38
    • cfc7d8c Update build status badge
    • db78fa2 Update ui test suite to nightly-2022-12-15
    • c25a710 Time out workflows after 45 minutes
    • 464e2e7 Merge pull request #200 from dtolnay/displayattr
    • 4b06a3e Add test of Display impl nested inside display attribute
    • 29ee95e Ui test changes for trybuild 1.0.66
    • 8a996a5 Release 1.0.37
    • 3a0bac2 Merge pull request #197 from dtolnay/backtracedoc
    • c2759ce Fix documentation mentioning 'backtrace()' method
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump serde from 1.0.130 to 1.0.152 in /rust

    chore(deps): bump serde from 1.0.130 to 1.0.152 in /rust

    Bumps serde from 1.0.130 to 1.0.152.

    Release notes

    Sourced from serde's releases.

    v1.0.152

    • Documentation improvements

    v1.0.151

    • Update serde::{ser,de}::StdError to re-export core::error::Error when serde is built with feature="std" off and feature="unstable" on (#2344)

    v1.0.150

    • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#2334)
    • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#2337, thanks @​badboy)

    v1.0.149

    • Relax some trait bounds from the Serialize impl of BinaryHeap, BTreeSet, and HashSet (#2333, thanks @​jonasbb)

    v1.0.148

    • Support remote derive for generic types that have private fields (#2327)

    v1.0.147

    • Add serde::de::value::EnumAccessDeserializer which transforms an EnumAccess into a Deserializer (#2305)

    v1.0.146

    • Allow internally tagged newtype variant to contain unit (#2303, thanks @​tage64)

    v1.0.145

    • Allow RefCell<T>, Mutex<T>, and RwLock<T> to be serialized regardless of whether T is Sized (#2282, thanks @​ChayimFriedman2)

    v1.0.144

    • Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types (#2263, thanks @​taiki-e)

    v1.0.143

    • Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (#2253, thanks @​taiki-e)

    v1.0.142

    • Add keywords to crates.io metadata

    v1.0.141

    • Add no-std category to crates.io metadata

    v1.0.140

    • Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain (#2251, thanks @​taiki-e)

    v1.0.139

    • Add new constructor function for all IntoDeserializer impls (#2246)

    v1.0.138

    • Documentation improvements

    v1.0.137

    • Update documentation links to some data formats whose repos have moved (#2201, thanks @​atouchet)
    • Fix declared rust-version of serde and serde_test (#2168)

    ... (truncated)

    Commits
    • ccf9c6f Release 1.0.152
    • b25d0ea Link to Hjson data format
    • 4f4557f Link to bencode data format
    • bf400d6 Link to serde_tokenstream data format
    • 4d2e36d Wrap flexbuffers bullet point to 80 columns
    • df6310e Merge pull request #2347 from dtolnay/docsrs
    • 938ab5d Replace docs.serde.rs links with intra-rustdoc links
    • ef5a0de Point documentation links to docs.rs instead of docs.serde.rs
    • 5d186c7 Opt out -Zrustdoc-scrape-examples on docs.rs
    • 44bf363 Release 1.0.151
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 2
  • chore(deps): bump proc-macro2 from 1.0.32 to 1.0.49 in /rust

    chore(deps): bump proc-macro2 from 1.0.32 to 1.0.49 in /rust

    Bumps proc-macro2 from 1.0.32 to 1.0.49.

    Release notes

    Sourced from proc-macro2's releases.

    1.0.49

    • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

    1.0.48

    • Documentation improvements

    1.0.47

    • Fix integer overflow when nesting depth of nested comments exceeds 4 billion (#357)

    1.0.46

    • Make proc_macro2::TokenStream's FromStr impl consistent with proc_macro::TokenStream's on strings that begin with a byte order mark \u{feff} (#353)

    1.0.45

    • Fix panic on parsing disallowed raw identifiers such as r#self (#351)

    1.0.44

    • Expose span.before() and span.after() to access an empty Span located immediately before or after the input span (#348, upstream tracking issue: rust-lang/rust#87552)

    1.0.43

    • Add keywords to crates.io metadata

    1.0.42

    • Improve parsing performance in non-macro mode (#335)
    • Expose a size_hint() for TokenStream's iterator (#334)

    1.0.41

    • Produce an accurate .size_hint() from TokenStream's iterator (#334)

    1.0.40

    1.0.39

    1.0.38

    • Reduce allocations done by Literal::byte_string constructor (#328)

    1.0.37

    • Rely on unicode-xid to optimize ASCII properly (#325)

    1.0.36

    • Improve performance of creating literal tokens through quote! macro

    1.0.35

    • Try to diagnose "cannot find type SourceFile" errors better (#311)

    1.0.34

    • Work around doc build failure due to docs.rs flags change (#310)

    1.0.33

    ... (truncated)

    Commits
    • 293705d Release 1.0.49
    • 6b9ee3d Opt out -Zrustdoc-scrape-examples on docs.rs
    • a83ad60 Release 1.0.48
    • b4fa77f Update build status badge
    • 975c324 Time out workflows after 45 minutes
    • f633e31 MIT copyright line
    • 47c91c8 Release 1.0.47
    • c694208 Make i's inferred type explicit to be consistent with depth
    • 46e9bd6 Merge pull request #358 from dtolnay/depth
    • 5635f1b Fix integer overflow in nested comment parser
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    wontfix dependencies 
    opened by dependabot[bot] 2
  • chore(deps): bump openssl from 0.10.38 to 0.10.45 in /rust

    chore(deps): bump openssl from 0.10.38 to 0.10.45 in /rust

    Bumps openssl from 0.10.38 to 0.10.45.

    Commits
    • 7df5686 Release openssl v0.10.45
    • f32af9f Release openssl-sys v0.9.80
    • deac6b7 Merge pull request #1763 from CfirTsabari/cfirtsabari/deperecated-functions-1745
    • 27edce9 Mark Openssl # deprecated functions
    • f0ff8a7 Merge pull request #1762 from wiktor-k/fix-broken-relaxation
    • 45e5dce Expose Cipher::cipher_final_unchecked
    • 71013f7 Fix output buffer check introduced in #1733
    • 64ba480 Merge pull request #1761 from vishwin/master
    • 0d8d502 Expose EVP_PKEY_security_bits for LibreSSL 3.6.0 and later
    • e01fbac openssl-sys: add LibreSSL 3.6.0 to cfgs
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
Owner
null
Jittor is a high-performance deep learning framework based on JIT compiling and meta-operators.

Jittor: a Just-in-time(JIT) deep learning framework Quickstart | Install | Tutorial | Chinese Jittor is a high-performance deep learning framework bas

null 2.7k Jan 3, 2023
Learning recognition/segmentation models without end-to-end training. 40%-60% less GPU memory footprint. Same training time. Better performance.

InfoPro-Pytorch The Information Propagation algorithm for training deep networks with local supervision. (ICLR 2021) Revisiting Locally Supervised Lea

null 78 Dec 27, 2022
Easy Parallel Library (EPL) is a general and efficient deep learning framework for distributed model training.

English | 简体中文 Easy Parallel Library Overview Easy Parallel Library (EPL) is a general and efficient library for distributed model training. Usability

Alibaba 185 Dec 21, 2022
A modular, research-friendly framework for high-performance and inference of sequence models at many scales

T5X T5X is a modular, composable, research-friendly framework for high-performance, configurable, self-service training, evaluation, and inference of

Google Research 1.1k Jan 8, 2023
The pure and clear PyTorch Distributed Training Framework.

The pure and clear PyTorch Distributed Training Framework. Introduction Requirements and Usage Dependency Dataset Basic Usage Slurm Cluster Usage Base

WILL LEE 208 Dec 20, 2022
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.

The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate. Website • Key Features • How To Use • Docs •

Pytorch Lightning 21.1k Jan 1, 2023
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.

The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate. Website • Key Features • How To Use • Docs •

Pytorch Lightning 11.9k Feb 13, 2021
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.

The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate. Website • Key Features • How To Use • Docs •

Pytorch Lightning 21.1k Jan 8, 2023
Recommendationsystem - Movie-recommendation - matrixfactorization colloborative filtering recommendation system user

recommendationsystem matrixfactorization colloborative filtering recommendation

kunal jagdish madavi 1 Jan 1, 2022
PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)

English | 简体中文 Welcome to the PaddlePaddle GitHub. PaddlePaddle, as the only independent R&D deep learning platform in China, has been officially open

null 19.4k Jan 4, 2023
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

Microsoft 8.4k Jan 1, 2023
PPLNN is a Primitive Library for Neural Network is a high-performance deep-learning inference engine for efficient AI inferencing

PPLNN is a Primitive Library for Neural Network is a high-performance deep-learning inference engine for efficient AI inferencing

null 943 Jan 7, 2023
Bytedance Inc. 2.5k Jan 6, 2023
ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator

ONNX Runtime is a cross-platform inference and training machine-learning accelerator. ONNX Runtime inference can enable faster customer experiences an

Microsoft 8k Jan 4, 2023
A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

This repository holds NVIDIA-maintained utilities to streamline mixed precision and distributed training in Pytorch. Some of the code here will be included in upstream Pytorch eventually. The intention of Apex is to make up-to-date utilities available to users as quickly as possible.

NVIDIA Corporation 6.9k Jan 3, 2023
A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

Introduction This is a Python package available on PyPI for NVIDIA-maintained utilities to streamline mixed precision and distributed training in Pyto

Artit 'Art' Wangperawong 5 Sep 29, 2021
Bagua is a flexible and performant distributed training algorithm development framework.

Bagua is a flexible and performant distributed training algorithm development framework.

null 786 Dec 17, 2022
Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-wise Distributed Data based on Pytorch Framework

VFedPCA+VFedAKPCA This is the official source code for the Paper: Vertical Federated Principal Component Analysis and Its Kernel Extension on Feature-

John 9 Sep 18, 2022