COMP528


COMP528の
割り当てResits(19分の2018)
4つの割り当て、合計のそれぞれの価値が10%
お手紙はあなたがresitすることが期待される割り当てた(もしあれば)が表示されます
、同じ学習などをテストし、オリジナルに匹敵するResitsの質問に
、あなたがヒントとヘルプの多くを得るだろうCに書き込まれるすべてのコードラボの作業に、前の割り当てに戻って行くことによって、コンパイルされ、(元どおり)期待される学術的整合性のチャドウィック標準にベンチマーク-報告書は、「ターンイットイン」を経由して
自動チェックのためにマークされます単一のzipファイルとして各割り当てを提出正し&トピックを理解するためのコード&レポートでは、(レポート&コード&任意のスクリプトを備える(プラス任意の
resit#4のために、resit#3用resit#1の91、92 resit#1のため、93 94:あなたはSAMへ))の提出を希望裏付ける証拠
すべての提出期限:午前10時、金曜日2019年8月9日
割り当て1:MPIの
割り当て# 1 Resit
のテスト知識
バッチシステムを介して並列プログラミング・MPI&タイミング
TASK:最小二乗回帰-並列化MPI使用
https://www.mathsisfun.com/data/least-squares-regression.html
離散ポイントの集合のための(X [I]、Y [i]は)、BベストリニアフィットY = MX +
M&Bを決定するために与えられている式(次のスライド)を使用して、
Xの設定された所定の入力に対してM及びbを決定するために、2つのCコードを書き込み、Y
iが。シリアルテストコード
II。MPI並列処理を使用してワン
インテルコンパイラを使用して最適化なし「-O0」でコンパイルし
たM&Bを見つけタイムコード(バッチで実行されている)の部分、およびこれを行う
MPIプロセスの様々な数との観点から、たとえば、あなたの調査結果について議論
スピードアップを並列効率(とアムダールの法則)が
割り当て#1 Resitは
覚えておいてください:
たくさんの場所を並列化することができます
独立した作品
MPIは、それぞれに単一のコードされた
プロセスは、独自の「ランク」を有する
(仕事を分割するのに便利?)
MPIは用などを呼び出す「削減」を提供しますプロセス上の加算を行う
と、「ルート」プロセス上の(またはすべてのプロセスで)結果を格納
MPIはタイミングMPI_Wtime機能を提供し、壁時計の時間があります
MPI_Wtimeへの2回の連続する呼び出しの間の差
Nは、MPIプロセスの数によって均等に割り切れないかもしれない
(MPI_Comm_size機能を介して利用可能)
https://www.mathsisfun.com/data/least-squares-regression.html
割り当て#1 Resitデータ提案は:あなたが取得しているチェックするために、入力データ(x、y)の小さなセットを使用します

代写COMP528作业、代做C ++编程语言作业、C / C ++语言作业代写、
正解(直列およびMPIプロセスの任意の数のために)。一度すべての良い、
そして(以下のように)割り当てのためにデータを使用します。バッチを使用することを忘れないでください
MPIの異なる数がプロセスのために、あなたのタイミングを着手するシステムを
:割り当てデータを
N =10万
X [i]を=(フロート)は、i = iに対して/ 1000.0
我々はI = 1から始まり、行くI = 99,999ノートに1 N-1に
Y [i]を=罪(X [i]の/500.0)/ COS(X [i]は/499.0 + X [i])とは、<math.h>のインクルードする必要があります
#1 Resitコードの両方を提出割り当てをシリアル&MPIコードが
使用されるすべてのスクリプト提出する
報告書を:3ページまで
のアプローチの&検索結果の考察
、あなたがするために使用するコマンド与える
コンパイルを
送信して並列コードを実行し
、最良適合直線の方程式
マーキング
コードの正しさを50%
パラレル原則&MPIを理解する/説明する:25%の
結果についての議論:25%
課題2:OpenMPの
課題#2 Resit
のテストの知識
並列プログラミングOpenMPの&バッチシステムを介して、タイミング&
TASK:最小二乗回帰-のOpenMPを用いて並列化
(詳細については割り当て#1を参照)
点の離散点(X [i]は、Y [i])と、最良の線形適合yの組のために= MX + B
M&Bを決定するために与えられている式(次のスライド)を使用して
割り当て#1 Resitについて記載したのと同じ割当データを使用
使用C xから設定された所定の入力のためのMおよびBを決定するためのコード、Y書き込み
OpenMPのワークシェアリングがWOR並列化するように構成
Kインテルコンパイラを使用し、最適化なし「-O0」でコンパイル
(タイムコードのセクションをM&Bを見つけること)バッチで実行されている、とこれを行う
OpenMPスレッドの様々な数に及び面で、たとえばあなたの調査結果について議論
スピードアップと並列効率(とアムダールの法則)の
2 Resitが割り当て#
覚えて:独立したのどこをたくさん並列化することができます作業
のOpenMPは、各スレッドがそのフォークジョイン平行領域を有する単一のコードであり
、それ自身のスレッド番号を有します。一般的に「のための」ループレベルでの並列化
のOpenMPが終わっ和を行うための「削減」句の例を提供
「マスター」スレッドに結果を格納するプロセスと
のOpenMPはomp_get_wtime機能タイミング提供し、ウォールクロック
時間は、2つの連続する呼の間の差である
とすることができる異なる「スケジュール」を有することができるOpenMPのループ並列化
スレッド間の不規則な作業配分のために有用な
、使用することができすべてのOpenMPを無視するようにコンパイラフラグ。
割り当て#2 Resit
コードは、
OpenMPのコードが送信
に使用するスクリプト提出する
報告書を:3ページまで
のアプローチの&検索結果の考察
、あなたがするために使用するコマンド付けて
コンパイルし
送信して並列コードを実行し
、最良適合直線の方程式
マーク
の正しさをコード:50%
説明/理解平行原理&MPI:25%
結果の考察:25%
割り当て3:GPUプログラミング
割り当て#3 Resit
のテスト知識
GPUの並列プログラミング
TASK:離散GPUを使用して
関数f(x)= EXP(X / 3.1) - X * X * X * X * 18.0
あなたは、x = 0.0であり、x = 60.0の間でこれを離散化し、最小値を見つける必要が
33Mポイントを使用しては、
CUDAまたはのいずれかで書かれた加速カーネルでCベースのコードを書く
OpenACCディレクティブを使用します。コードがなければならない
値を設定した後、最小値を見つける含む連続ラン(すなわち、すべてのCPU上の)時間
の時間GPU上で設定された値で加速ランは、バックCPUとに渡された
CPU上に見出される最小
割り当て#3 Resitの
CUDAのためのリマインダーは、
(.cuサフィックスを注意してください)例えばmyCode.cuファイルにC + CUDAカーネルを書く
(ログインノード上で)コンパイル:
モジュールのロードCUDA-8.0は、
NVCC -Xcompiler -fopenmp myCode.cu
バッチで実行してデバッグ
のqrsh -l gputype =テスラ、h_rt = 00:10:00 -pe SMP 1-16 -V -cwd ./a.out
(あなた自身のためにすべてのGPU&CPUコアを占有)バッチで実行タイミング
のqrsh -l gputype =テスラ、排他的、h_rt = 00:10:00 -pe SMP 16 -V -cwd ./a.out
openACCのために
講義ノートを参照してください
割り当て#3 Resit
コードは
、コードを提出し、任意のスクリプトが使用
レポート:3ページまでの
議論のアプローチの&の検索結果
CPUにGPUのどの速度比を含みます
あなたはGPUメモリ&データの費用を含めるかどうか(これは持っているだろうか効果)注目に
あなたがするために使用するコマンド与える
あなた並列コード、コンパイル提出して実行
(X [i])とFの最小の値をしているxの値のための[ i]は、これが発生
マーキング
コードの正しさを40%は
30%:パラレル原理&GPUを理解/説明すると
結果の考察:30%
割り当て4:ハイブリッドプログラミング
割り当て#4 Resit
のテスト知識
並列プログラミング・ハイブリッドMPI + OpenMPの並列
タスク:ハイブリッド銀河形成のMPI + OpenMPの並列化
サブセクションに「Resitに設けられたCコード「COMP528-assign4-resit.c」を用い
https://cgi.csc.liv.ac.uk/~mkbane/COMP528/に割り当て」を
(適切であれば、含むMPIおよびOpenMPのシミュレーションを加速するために追加
の初期化を)。元の割り当てに従って、粗いに並列化するためにMPIを使用して
粒度レベル(間体の数(変数「体」)を分割
その並列化するためのOpenMPを使用するプロセスの数)及び各MPIプロセスの
作業は
、インテルコンパイラを使用してコンパイル最適化フラグ「-O2」で
時間の動きをシミュレートするコードのセクション(バッチで実行されている)
銀河を、そしてMPIプロセス&OpenMPのスレッドの様々な数でこれを行う
課題#4 Resit
コード- MPI + OpenMPのコードを提出&任意のスクリプトを使用
レポート:3ページまで
のアプローチの&検索結果の考察
あなたが与えられた並列化方法を選んだ理由を並列化&説明してどのような決定方法
の結果(精度、スピードアップ、並列効率)
あなたが最速であることが判明MPI / OpenMPのの組み合わせを
使用すると、スケールする必要があるだろうか上の段落を含めます100のによって体の数
桁数(とほぼ同じ時間を実行し続ける)
などがBarklaは十分な大きさ?CPUは、唯一のオプションですか?
状態はあなたがするために使用するコマンドの
タイミングデータを得るためにあなたのコードを、コンパイル提出し、実行&時間は、提示
マーキング
30%が:コードを
使用する並列原則を理解する/説明する:25%の
大きさの100桁のスケーリングについての議論:20%
結果のディスカッション:25 %
がんばろう
どんな質問かどうか尋ねます!

 

プロ、とても信頼できるので。必要に応じて、QQを追加してください:99515681または電子メール:[email protected]

マイクロ手紙:codehelp

おすすめ

転載: www.cnblogs.com/mkka/p/11202934.html