SageMaker モデル並列処理ライブラリのリリースノート - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker モデル並列処理ライブラリのリリースノート

SageMaker モデル並列処理 (SMP) ライブラリの最新の更新を追跡するには、次のリリースノートを参照してください。SMP ライブラリについてさらに質問がある場合は、 SMPのサービスチームにお問い合わせくださいsm-model-parallel-feedback@amazon.com

SageMaker モデル並列処理ライブラリ v2.7.0

日付: 2024 年 12 月 4 日

SMP ライブラリの更新

新しい特徴

SMP Docker コンテナ

SMP ライブラリチームは、 SageMaker PyTorch フレームワークコンテナの代わりに Docker コンテナと Enroot コンテナを配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 SageMaker は自動的に Docker SMP コンテナを取得します。この v2 SMP リリースを使用するには、Python SageMaker SDKを v2.237.0以降にアップグレードします。

コンテナの詳細

  • SMP v2.4.1 PyTorch と v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.<us-west-2>.smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • SMP v2.4.1 PyTorch と v12.1 CUDA のエンルートコンテナ

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh
  • インストール済みのパッケージ

    • SMP ライブラリ v2.7.0

    • SMDDP ライブラリ v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャネル

次の S3 バケットは、 SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの Conda 環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャネル全般の詳細については、Conda のドキュメントの「Channels」を参照してください。

SageMaker モデル並列処理ライブラリ v2.6.1

日付: 2024 年 10 月 31 日

SMP ライブラリの更新

バグ修正

  • v2.6.0 SMP で古いトレーニングスクリプトを使用する場合に発生するImportError問題を修正しました。これにより、v2.6.0 SMP との下位互換性が修正されます。

  • DeprecationWarning に を追加しましたtorch.sagemaker.distributed.fsdp.checkpoint。このモジュールは v2.7.0 SMP で廃止および削除されます。現在コードtorch.sagemaker.distributed.fsdp.checkpointで を使用している場合は、将来の問題を避けるため、v2.7.0 SMP のリリース前にスクリプトを更新する必要があります。

  • v2.6.0 SMP で特定された下位互換性の問題を修正しました。この問題は、v2.6.0 SMP でのUSE_PG_WITH_UTILチェックポイントメソッドの非推奨に関連しており、以前のバージョンのトレーニングスクリプトとの下位互換性が損なわれました。この問題を解決するには、 PyTorch トレーニングジョブを再実行して、v2.6.1 SMP にパッケージ化された最新のSMPコンテナを取得します。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。Python で SageMaker PyTorch 推定器クラスを使用し、v2 SMP を使用するようにディストリビューション設定を指定するSDKと、 SageMaker AI は自動的に Docker SMP コンテナを取得します。

コンテナの詳細

  • SMP v2.4.1 PyTorch と v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • インストール済みのパッケージ

    • SMP ライブラリ v2.6.1

    • SMDDP ライブラリ v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャネル

次の S3 バケットは、 SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャネル全般の詳細については、Conda のドキュメントの「Channels」を参照してください。

SageMaker モデル並列処理ライブラリ v2.6.0

日付: 2024 年 10 月 17 日

SMP ライブラリの更新

新しい特徴

  • 次のLLMモデル設定のサポートが追加されました。コンテキスト並列処理 および テンソル並列性 を使用できるようになりました。

  • 次の Mixtral モデル構成で テンソル並列性 がサポートされるようになりました。

  • AllGather 通信集合を利用してテンソルの完全な key-and-valueシーケンスを取得する、 AllGatherベースのコンテキスト並列処理実装のサポートが追加されました。使用可能な実装は p2pall_gather です。このp2p実装では、 peer-to-peer注意計算中に (KV) テンソル累積の key-and-value送受信呼び出しを利用して非同期的に実行され、通信が計算と重複できるようにします。一方の all_gather 実装は、KV テンソルの蓄積に AllGather 集合通信演算を使用します。これらのコンテキスト並列処理の実装を適用する方法については、「コンテキスト並列処理」を参照してください。

  • Rotary Position Embedding (RoPE) のシータ値を調整できるようになりました。

バグ修正

  • パラメータ遅延が有効になっている場合に、Rotary Position Embedding (RoPE) が事前トレーニング中に適切に初期化されないバグを修正しました。

既知の問題

  • Transformer Engine は現在、コンテキスト並列処理やスライディングウィンドウFP8のアテンションが有効になっている をサポートしていません。したがって、 SMPバージョンの Mistral Transformer は、スライディングウィンドウ設定が null 以外の値に設定されている場合、コンテキスト並列処理やFP8トレーニングをサポートしていません。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。Python で SageMaker PyTorch 推定器クラスを使用し、v2 SMP を使用するようにディストリビューション設定を指定するSDKと、 SageMaker AI は自動的に Docker SMP コンテナを取得します。

最新の更新内容

  • v2 PyTorch .4.1 にアップグレードしました

  • Megatron を v0.8.0 にアップグレードしました。

  • TransformerEngine ライブラリを v1.10 にアップグレードしました

  • Transformers を v4.44.2 にアップグレードしました。

  • cuDNN を v9.4.0.58 にアップグレードしました

コンテナの詳細

  • SMP v2.4.1 PyTorch と v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • インストール済みのパッケージ

    • SMP ライブラリ v2.6.0

    • SMDDP ライブラリ v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャネル

次の S3 バケットは、 SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャネル全般の詳細については、Conda のドキュメントの「Channels」を参照してください。

SageMaker モデル並列処理ライブラリ v2.5.0

日付: 2024 年 8 月 28 日

SMP ライブラリの更新

新しい特徴

バグ修正

  • Llama のファインチューニング中に、事前トレーニング済みのモデルチェックポイントをロードしてテンソル並列処理を利用すると、予期しない高い初期損失が発生する問題が解決されました。

Notes (メモ)

  • Mixtral でアクティベーションチェックポイントをFP8混合精度で使用するには、注意レイヤーとエキスパートレイヤーを個別にチェックポイントする必要があります。正しく設定する例については、Amazon SageMaker AI Examples リポジトリトレーニングスクリプトの例を参照してください。

既知の問題

  • MoE 構成 (torch.sagemaker.moe.moe_config.MoEConfig) の均衡 (balanced) 負荷分散タイプは、現時点では、アクティベーションチェックポイントとの互換性がありません。

  • コンテキスト並列処理では、GPT-NeoX は事前トレーニングと微調整の両方でパフォーマンス回帰を示します。

  • P4 インスタンスの GPT-NeoX の場合、遅延パラメータで初期化された変換済みモデルから Hugging Face トランスフォーマーモデルに重みを直接ロードすると、最初のステップで損失の不一致が発生します。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。Python で SageMaker PyTorch 推定器クラスを使用し、v2 SMP を使用するようにディストリビューション設定を指定するSDKと、 SageMaker AI は自動的に Docker SMP コンテナを取得します。この SMPv2 リリースを使用するには、Python SDKを v2.224.0 以降にアップグレードします SageMaker。

最新の更新内容

  • FlashAttention ライブラリを v2.5.8 にアップグレードしました

  • Transformer Engine ライブラリを v1.8 にアップグレードしました。

    • Transformer Engine を Conda 環境にインストールする場合は、ソースからビルドし、特定のアップストリーム修正 (744624d 27c63427669bf3) をチェリーピックする必要があります。

コンテナの詳細

  • SMP v2.3.1 と PyTorch v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121

    サポートされているリージョンの詳細なリストについては、「AWS リージョン」を参照してください。

  • インストール済みのパッケージ

    • SMP ライブラリ v2.5.0

    • SMDDP ライブラリ v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャネル

次の S3 バケットは、 SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャネル全般の詳細については、Conda のドキュメントの「Channels」を参照してください。

SageMaker モデル並列処理ライブラリ v2.4.0

日付: 2024 年 6 月 20 日

SMP ライブラリの更新

バグ修正

  • SMP Transformer の使用中にフォワードパスでラベルが渡されない場合に、正しくないロジットシェイプが発生するバグを修正しました。

最新の更新内容

  • v2.3.1 PyTorch のサポートが追加されました。

  • Python v3.11 のサポートが追加されました。

  • Hugging Face Transformers ライブラリ v4.40.1 のサポートが追加されました。

非推奨

  • Python v3.10 のサポートを終了しました。

  • Hugging Face Transformers ライブラリの v4.40.1 より前のバージョンのサポートを終了しました。

その他の変更

  • 異なるランクで重複排除されたテンソルを保存するかどうかを切り替えるためのパッチを追加しました。詳細については、 PyTorch GitHub リポジトリのディスカッションスレッドを参照してください。

既知の問題

  • テンソル並列処理を用いて Llama-3 70B をファインチューニングする間に、損失が急増し、その後、より高い損失値で再開する可能性があるという既知の問題があります。

SMP Docker コンテナ

SMP ライブラリチームは、 PyTorch フレームワークコンテナの代わりに Docker コンテナを SageMaker配布します。Python で SageMaker PyTorch 推定器クラスを使用し、v2 SMP を使用するようにディストリビューション設定を指定するSDKと、 SageMaker AI は自動的に Docker SMP コンテナを取得します。この SMPv2 リリースを使用するには、Python SDKを v2.224.0 以降にアップグレードします SageMaker。

最新の更新内容

  • SMDDP ライブラリを v2.3.0 にアップグレードしました。

  • NCCL ライブラリを v2.21.5 にアップグレードしました。

  • EFA ソフトウェアを v1.32.0 にアップグレードしました。

非推奨

コンテナの詳細

  • SMP v2.3.1 と PyTorch v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • インストール済みのパッケージ

    • SMP ライブラリ v2.4.0

    • SMDDP ライブラリ v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datasets ライブラリ v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda チャネル

次の S3 バケットは、 SMPサービスチームがホストするSMPライブラリのパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャネル全般の詳細については、Conda のドキュメントの「Channels」を参照してください。

SageMaker モデル並列処理ライブラリ v2.3.1

日付: 2024 年 5 月 9 日

バグ修正

  • エキスパート並列処理で torch.sagemaker.moe.moe_config.MoEConfigmoe_load_balancing=balanced を使用した場合の ImportError を修正しました。

  • load_state_dict_from_rank0 が有効な状態で torch.sagemaker.transform を呼び出すと KeyError が発生する、ファインチューニングの問題を修正しました。

  • 微調整のために Mixtral out-of-memory8x22B などの大規模なエキスパート混合 (MoE) モデルをロードするときに発生する () OOMエラーを修正しました。

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。このリリースでは、前述のバグ修正が次の Docker SMP イメージに組み込まれています。

  • SMP v12.1 を使用する PyTorch v2.2.0 CUDA 用の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121

SageMaker モデル並列処理ライブラリ v2.3.0

日付: 2024 年 4 月 11 日

新しい特徴

  • 新しい主要機能としてエキスパート並列処理が追加され、Mixture of Experts トランスフォーマーモデルに対応しました。詳細については、「エキスパート並列処理」を参照してください。

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に取得します。この SMPv2 リリースを使用するには、Python SageMaker SDKを v2.214.4 以降にアップグレードします。

  • SMP v12.1 を使用する PyTorch v2.2.0 CUDA 用の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • この Docker コンテナにインストール済みのパッケージ

      • SMDDP ライブラリ v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets ライブラリ v2.16.1

      • Megatron-core 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker モデル並列処理ライブラリ v2.2.0

日付: 2024 年 3 月 7 日

新機能

  • Transformer Engine との統合により、P5 インスタンスで次の Hugging Face Transformer モデルのFP8トレーニングのサポートが追加されました。

    • GPT-NeoX

    • Llama 2

バグ修正

  • テンソル並列処理トレーニング中に、AllGather 集合呼び出しの前にテンソルの連続性が保証されないバグを修正しました。

最新の更新内容

  • v2.2.0 PyTorch のサポートが追加されました。

  • SMDDP ライブラリを v2.2.0 にアップグレードしました。

  • FlashAttention ライブラリを v2.3.3 にアップグレードしました。

  • NCCL ライブラリを v2.19.4 にアップグレードしました。

非推奨

  • Transformer Engine の v1.2.0 より前のバージョンのサポートを終了しました。

既知の問題

その他の変更

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するようにディストリビューション設定を指定するSDKと、 SageMaker AI は自動的に Docker SMP コンテナを取得します。この SMPv2 リリースを使用するには、Python SageMaker SDKを v2.212.0 以降にアップグレードします。

  • SMP v12.1 を使用する PyTorch v2.2.0 CUDA 用の Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • P4d、P4de、P5 インスタンスで使用可能

    • この Docker コンテナにインストール済みのパッケージ

      • SMDDP ライブラリ v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets ライブラリ v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker モデル並列処理ライブラリ v2.1.0

日付: 2024 年 2 月 6 日

最新の更新内容

  • v2.1.2 PyTorch のサポートを追加しました。

非推奨

  • Hugging Face Transformers v4.31.0 のサポートを終了しました。

既知の問題

  • attn_implementation=flash_attention_2 と を使用して Hugging Face Llama 2 モデルを微調整FSDPすると、モデルが分岐する問題が検出されました。リファレンスについては、Hugging Face Transformers GitHub リポジトリ発行チケットを参照してください。収束しない問題を回避するには、attn_implementation=sdpa を使用してください。または、 を設定してSMPトランスフォーマーモデルの実装を使用しますuse_smp_implementation=True

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するディストリビューション設定を指定するSDKと、 は Docker SMP コンテナ SageMaker を自動的に取得します。この SMPv2 リリースを使用するには、Python SageMaker SDKを v2.207.0 以降にアップグレードします。

  • SMP v2.1.2 と PyTorch v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • P4d、P4de、P5 インスタンスで使用可能

    • この Docker コンテナにインストール済みのパッケージ

      • SMDDP ライブラリ v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datasets ライブラリ v2.16.1

      • EFA v1.30.0

SMP Conda チャネル

次の S3 バケットは、 SMPサービスチームがホストするパブリック Conda チャネルです。 SageMaker HyperPod クラスターなどの高度にカスタマイズ可能なコンピューティングリソースの環境に SMPv2 ライブラリをインストールする場合は、この Conda チャネルを使用してSMPライブラリを適切にインストールします。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Conda チャネル全般の詳細については、Conda のドキュメントの「Channels」を参照してください。

SageMaker モデル並列処理ライブラリ v2.0.0

日付: 2023 年 12 月 19 日

新しい特徴

次の新しいサービスで SageMaker モデル並列処理 (SMP) ライブラリ v2.0.0 をリリースしました。

  • SMP v1.x の以前のtorch.sagemakerパッケージから完全に改訂された新しいsmdistributed.modelparallel.torchパッケージ。

  • PyTorch 2.0.1 のサポート。

  • のサポート PyTorch FSDP。

  • Transformer Engine ライブラリを統合し、テンソル並列処理を実装しました。

  • SageMaker トレーニングと の両方のサポートSageMaker HyperPod

重要な変更

  • SMP v2 は APIsを完全に改訂し、 torch.sagemakerパッケージを提供しました。ほとんどの場合、torch.sagemaker.init() モジュールで初期化し、モデル並列処理の設定パラメータを渡すだけで済みます。この新しいパッケージを使用すれば、トレーニングスクリプトのコード変更を大幅に簡素化できます。v2 を使用するようにトレーニングスクリプトを調整する方法の詳細については、SMP「」を参照してください SageMaker モデル並列処理ライブラリ v2 を使用する

  • Hugging Face Transformer モデルのトレーニングに SMP v1 を使用していて、v2 SMP でモデルを再利用する場合は、「」を参照してくださいv1 SMP から v2 SMP へのアップグレード

  • PyTorch FSDP トレーニングには v2 SMP を使用する必要があります。

既知の問題

  • 現在、アクティベーションチェックポイントは、 で次のラッピングポリシーでのみ機能しますFSDP。

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • を使用するにはアクティベーションオフロード、FSDPアクティベーションチェックポイントタイプが である必要がありますREENTRANT

  • テンソル並列処理を有効にし、シャーディングデータ並列度を 1 に設定して実行する場合は、backend = nccl を使用する必要があります。このシナリオでは、smddp バックエンドオプションはサポートされていません。

  • Transformer Engine は、テンソル並列処理を使用していない場合でもSMP、ライブラリ PyTorch で を使用する必要があります。

その他の変更

非推奨

  • のサポートを中止しました TensorFlow。

  • SMP v2 ではパイプライン並列処理はサポートされていません。

  • ネイティブ PyTorch を優先して DeepSpeed ライブラリをサポートしていませんFSDP。

SMP Docker コンテナ

SMP ライブラリチームは、フレームワークコンテナの代わりに Docker コンテナを SageMaker PyTorch配布します。 SageMaker Python で PyTorch 推定器クラスを使用し、v2 SMP を使用するようにディストリビューション設定を指定するSDKと、 SageMaker AI は自動的に Docker SMP コンテナを取得します。この SMPv2 リリースを使用するには、Python SageMaker SDKを v2.207.0 以降にアップグレードします。

  • SMP v2.0.1 と PyTorch v12.1 の CUDA Docker コンテナ

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121