2017-09-16 17 views
-1

ライブラリND4J(JavaのN次元配列)は、Pythonのnumpyのように並列計算をサポートしていますか?JavaのN次元配列の並列計算

+1

これは** [tag:Python] **と** [tag:Numpy] **と何が関係がありますか? –

+0

のようにいくつかのn次元配列を乗算すると –

答えて

0

「並列コンピューティング」の意味は不明ですが、主にc/C++で実装されていますが、mklやパワーチップもサポートしています。

あなたの質問がどれほど広がっているかで、あなたはこの質問に対する「深い」答えを実際には探していないと推測できますが、openmp、blas/lapack、sparse、..

私の答えを少し編集しています。「ベクトル化された」ナンプシー操作は、単にcのループ用です。 Pythonは本質的にループが遅く、主に遅い言語です。

別の編集:そこに埋め込まれたCコードがなければ、gpusをサポートすることは物理的に不可能です。私たちはJNIのないブラをすることもできませんでした。 Nd4jは純粋なJavaライブラリではありません。

は、我々は内のすべての実際のロジックを実行します:https://github.com/deeplearning4j/libnd4j

そうです:私たちはそうそこに「forループベースのC++」がその旨インチforループは、cudaとopenmp/mklを使用してマルチスレッド化または「並列化」されています。

+0

これは*答え*ではありません。例えば、Pythonを使用し、ループを使って配列を使っていくつかの操作を行うと、質問自体はかなりよく定義されています( –

+0

)。しかし、これらの操作にnumpyを使用すると、非常に高速に実行されます。だから、問題は:ND4Jはそのような可能性を提供できるのか? –

+0

私はそれは率直に "答え"ではなかったことに同意します。ナンシー演算は、その正確な方法で並列化されます。これらのことはSIMDとopenmpを介して起こります。 "parlalelized"という言葉は、マルチスレッディング、または彼が使ったはずのことを意味するオーバーロード用語です: "ベクトル化された" –