問題タブ [rapids]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
857 参照

python - 機械学習モデルのトレーニングに cuml を使用すると、Python Nvidia がメモリ エラーを高速化する

cuml ライブラリと GPU を使用して機械学習トレーニングを高速化するために、nvidia Rapids で python 3 を使用しています。

私の scrips も GPU トレーニング (tf 経由) で keras を使用しており、CUML を使用しようとする段階に達すると、メモリ エラーが発生します。これは、TF が GPU メモリを解放しないために発生していると思われます (nvidia-smi を見ると)、すべてのメモリが割り当てられていることがわかります。

これは、cuml モデルのトレーニングに使用するコードです

これは私が得るエラーです

[2] cuMemAlloc を呼び出すと、CUDA_ERROR_OUT_OF_MEMORY が発生する

encoded_data と y_train は numpy 配列、encoded_data は浮動小数点数の n*m 配列、y_train はラベルである整数の n*1 ベクトルです。どちらも sklearn ロジスティック回帰でトレーニングすると正常に動作します。

1. トレーニングしたすべての tf モデルを失うことなく、同じ GPU (推奨) を使用します (実際には tf モデルが必要とするよりも多くのメモリがありますが、tf プロセスはまだすべてのメモリを使用しています)。 CUML 計算用の 2 番目の GPU (RAPIDS CUML モデル トレーニングを実行する GPU を選択する方法が見つかりません。

0 投票する
1 に答える
472 参照

python - dask.dataframe をすべてのワーカーとパーティションに事前キャッシュして、通信の必要性を減らす方法

dask.dataframe.map_partitionsマージなどの操作に使用すると魅力的な場合があります。一部のシナリオでは、 aleft_dfright_dfusingの間でマージを行う場合、マージを実行する前に基本的に事前キャッシュして、ネットワークのオーバーヘッド/ローカル シャッフルを削減しmap_partitionsたいと考えています。right_dfこれを行う明確な方法はありますか?client.scatter(the_df)client.run(func_to_cache_the_df)、またはその他のインテリジェントブロードキャストのいずれかまたは組み合わせで可能になるはずです。

これは、本質的にルックアップ テーブルでleft_dfあるはるかに小さいテーブルで、大きなテーブルで左結合を行うというコンテキストで特に顕著です。right_dfこれはright_dfメモリに読み込まれ、マージ前にすべてのワーカー/パーティションに永続化/分散されて、最後の最後までクロスパーティション通信の必要性を減らすことができるはずです。right_dfこれをうまく行うにはどうすれば分散できますか?

以下は、cuDF と Dask を使用したこの種の不均衡なマージの小さな例です (ただし、概念的には、これは pandas と Dask でも同じです)。

0 投票する
1 に答える
1397 参照

python - Ubuntu に CUDA + RAPIDS をインストールする - 「利用可能なカーネル イメージがありません」

編集:以下のコメントで解決しました。

CUDA + RAPIDS を使い始めようとしています。これを行うために、Ubuntu 18.04 と NVIDIA Tesla K80 を使用して Google Compute で VM を起動しました。ソフトウェアをインストールするために実行したコマンドは次のとおりです。

次に、pandas の代わりに cudf を使用して少量の Python を実行しようとすると、次のエラーが発生します。

たくさんのガイドを読んだので、何が欠けているのかわかりません。「これらの一握りのコマンドを実行するだけで、準備完了です!」と書かれています。同じコマンドがリストされています。ごく最近、ソースから CUDA ドライバーをコンパイルするために nvcc を使用することになっていることがわかりましたが、使用するコマンドを示すガイドがどこにも見つかりません (誰もが数百ページの長い PDF を指しているだけです)。実際に役立つコマンドを提供するのではなく、NVIDIA によって)。では、Tesla K80 を使用して Ubuntu 18.04 システムで CUDA + RAPIDS を実行するには、他に何をする必要がありますか?

ありがとうございました!