記事についてのディスカッション - ページ 2

 
Aleksey Vyazmikin:

1コアで負荷がかかっていたのが、2コアになって負荷が半分になった......。ほとんどの場合、変化はもっと大きく、比較は正しくない。

加速の理由を理解するには、コア数を見るだけでは不十分で、計算のアーキテクチャも見る必要がある。
 
Dmitriy Gizlyk:
高速化の理由を理解するには、コア数を見るだけでは不十分で、コンピューティング・アーキテクチャも見なければならない。

そうだね。なぜ2つのベクトルではなく4つのベクトルが並列化されているのか理解できなかった。

 
Aleksey Vyazmikin:

1コアで負荷がかかっていたのが、2コアになって負荷が半分になった......。ほとんどの場合、変化はもっと大きく、比較は正しくない。

より効率的なメモリ割り当てでは、コアは再分配することなく、一度に全データを得ることができる。その方が高速であることがわかる。しかし、カーネルの 計算がリソースを大量に消費する場合、タスクによっては遅くなるかもしれない。

 
Aleksey Vyazmikin:

同感だ。ここで、なぜ4つのベクトルが平行移動され、2つのベクトルが平行移動されないのか理解できなかった。

4要素ずつの2つのベクトルが平行化された。ベクトルはinpとweight。それぞれに4つの要素を入れ、ドットで掛け合わせた。

dot(inp,weight) -> i1*w1+i2*w2+i3*w3+i4*w4
 
Dmitriy Gizlyk

ディミトリ 返信ありがとう。

 
Maxim Dmitrievsky:

より効率的なメモリ割り当てが可能になり、カーネルは再割り当てなしで一度にデータを完全に取得する。その方が高速であることがわかる。しかし、カーネルの 計算がリソースを大量に消費する場合、タスクによっては遅くなることもある。

そうかもしれない。

 
一連の記事は興味深く、ためになる。しかし、どのようにネットワークを訓練するのか、私にはわかりません。すでにEURUSDチャートで 何度か実行しました。予測は成長し、その後下落し始めます。どなたかすでにネットワークを訓練された方はいらっしゃいますか?
 
Dmitriy Gizlyk:

4要素ずつの2つのベクトルが並列化される。ベクトルはinp(初期データ)とweight(重み)。それぞれに4つの要素が書き込まれ、ドット乗算される。

つまり、逐次乗算演算により、増加する?結局、2つのベクトルが並列化され、それぞれのベクトルで4つの(条件付き)乗算が順次実行される?

 
非常に興味深い記事で、ニューラルネットワークの話題は最近ホットなトピックだ。著者に感謝する。
 
Aleksey Vyazmikin:

つまり、逐次的な乗算演算のために増加するのですか?結局のところ、2つのベクトルが並列化され、それぞれのベクトルで4つの(条件付き)乗算が順次実行されるのですか?

ベクトル演算を使えば、4つの要素の積を逐次ではなく並列に実行できる。https://ru.coursera.org/lecture/parallelnoye-programmirovaniye/4-1-chto-takoie-viektorizatsiia-i-zachiem-ona-nuzhna-f8lh3。OpenMPに関するものですが、意味は同じです。

4.1. Что такое векторизация и зачем она нужна - Векторные вычисления с помощью OpenMP 4.0 | Coursera
4.1. Что такое векторизация и зачем она нужна - Векторные вычисления с помощью OpenMP 4.0 | Coursera
  • ru.coursera.org
Video created by Национальный исследовательский Томский государственный университет for the course "Введение в параллельное программирование с использованием OpenMP и MPI". Приветствуем вас на четвертой неделе курса! На этой недели мы разберемся ...