タグ付けされた質問 「hpc」

ハイパフォーマンスコンピューティングでは、通常、クラスターまたはグリッドに接続されたコンピューターの大規模なアレイを使用します。

3
HPCシステムの作成とプログラミングをどのように勉強すればよいですか?
私は必ずしもHPCの多くの仕事をするわけではない分野にいます。そして、それが遭遇するとき、それはしばしば他の分野の研究者が彼らの方法などへの新しいアプリケーションを探求する結果です。主にこれが意味することは、それが研究の過程で実際に導入されたり、ワークショップ、セミナーなどであまり育てられたりしないことです-それを必要とせずに自分のキャリア全体に行くことが可能です。 しかし同時に、私ができる仕事の多くは、利用可能なHPCリソースをより有効に活用することで恩恵を受けることができます。そのほとんどは、うまく並列モンテカルロシミュレーションの形で行われます。 私の問題は、クラスターやMPIなどの使用方法を学習するためのリソースを見つけることです。 これらのタイプのシステムでのプログラミング、または独自の非常に控えめなHPCセットアップのセットアップと実行に関する書籍に関する提案はありますか?
16 hpc  education 

5
科学ソフトウェアはどの程度最適化する必要がありますか?
大量の計算リソースを必要とするアプリケーションの場合、科学的結果の提供や合理的な時間での「ブレークスルー」の達成に関して、高性能は重要な要素となります。 ソフトウェア開発者は、アプリケーションの最適化にどれだけの時間と労力を投資すべきですか?使用される主要な基準は何ですか?
13 software  hpc 

1
HPCのローカルメモリ/計算、ネットワーク遅延、および帯域幅ジッターの統計モデル
並列計算は、確定的なローカル計算速度、レイテンシオーバーヘッド、およびネットワーク帯域幅を使用して頻繁にモデル化されます。実際には、これらは空間的に可変であり、非決定的です。Skinner and Kramer(2005)などの研究ではマルチモーダル分布が観察されていますが、パフォーマンス分析では常に決定論的分布またはガウス分布のいずれかが使用されているようです(不正確なだけでなく、負のレイテンシの正の確率により一貫性がありません)。 より忠実な統計モデルが開発されましたか?ローカルコンピューティング/メモリ、レイテンシ、および帯域幅の変動における相互相関の説明はありますか?

2
科学計算におけるタスクベースの共有メモリ並列ライブラリ
近年、何らかの形式の汎用データ駆動型共有メモリ並列処理を提供するいくつかのライブラリ/ソフトウェアプロジェクトが登場しています。 主なアイデアは、明示的にスレッド化されたコードを書く代わりに、プログラマーがアルゴリズムを相互依存タスクとして実装し、共有メモリーマシン上の汎用ミドルウェアによって動的にスケジュールされるというものです。 そのようなライブラリの例は次のとおりです。 QUARK:もともとはMAGMA並列線形代数ライブラリ用に設計されましたが、並列高速多重極法にも使用されているようです。 Cilk:もともとはMITベースのプロジェクトで、現在Intelでサポートされています。Cの言語/コンパイラー拡張として実装され、Cilkchessコンピューターチェスソフトウェアで使用され、FFTWで実験的に使用されました。 SMPスーパースカラー:バルセロナスーパーコンピューティングセンターで開発されました#pragma。拡張機能に基づいて、多くの点でCilkに似ています。 StarPU:GPUを含むいくつかの異なるアーキテクチャ用にコンパイルおよびスケジュールできる、同様のライブラリベースの「コードレット」。 OpenMPタスク:バージョン3.0以降、OpenMPは非同期にスケジュールできる「タスク」を導入しました(仕様のセクション2.7を参照)。 Intelのスレッディングビルディングブロック:C ++クラスを使用して非同期タスクを作成および起動します。チュートリアルのセクション11を参照してください。 OpenCL:マルチコアでのタスクベースの並列処理をサポートします。 これらのライブラリ/言語拡張の内部動作と特定の問題への適用について説明している文献はたくさんありますが、科学計算アプリケーションで実際に使用されている例はほとんどありません。 だからここに質問です:誰かが共有メモリ並列処理のためにこれらのライブラリ/言語拡張、または同様のものを使用する科学計算コードを知っていますか?

2
スーパーコンピューティングにおける通信オーバーヘッド
私は、スーパーコンピューターが実際のタスク関連の作業を行うのではなく、調整に費やすリソースを説明する信頼できるリファレンスを探しています。リソースは利用可能な処理能力である可能性がありますが、ワットでさえ有効な単位のようです。 私の教授または教科書の1つがかつて超並列システムでは、利用可能な処理能力の最大半分がタスクとメッセージパッシングの調整に費やされていると言っていたと思います。残念ながら、私はこの参考文献やこの比率に関する他の資料を見つけることができないようです。 これはスーパーコンピューターのアーキテクチャによって大きく異なり、最新の実装はおそらくこの点でより効率的であるため、複数のアーキテクチャまたは進化(専用メッセージパッシングハードウェアの前後)にわたるこのメトリックの概要はさらに優れていると思います。
9 hpc  mpi 

4
大規模な3次元線形弾性問題のロバストで反復的なソルバーとは何ですか?
私は魅力的な有限要素解析の世界に飛び込んでおり、大きな熱機械的問題(熱機械のみ、フィードバックなし)を解決したいと考えています。→→\rightarrow 機械的な問題については、メッシュのサイズが原因で反復ソルバーを使用する必要があることを、Geoffの回答からすでに把握しました。Mattの返答をさらに読んで、正しい反復アルゴリズムの選択は困難な作業であると述べました。 最高のパフォーマンスの検索を絞り込むのに役立つ大きな3次元線形弾性問題の経験があるかどうかをここで尋ねていますか?私の場合、それは薄いパターン化されたフィルムと不規則に配置された材料(高CTEと低CTEの両方)の構造です。この熱機械分析では大きな変形はありません。大学のHPC [1.314ノード、2つのAMD Opteronプロセッサ(各2.2 GHz / 8コア)を使用]を使用できます。 私はPETSc興味深いもの、特にある種のドメイン分解(FETI、マルチグリッド)を行うアルゴリズムを含むことができると思いますが、オプションに少し圧倒され、経験がありません。「幾何学的な情報に基づいたプレコンディショナー」というフレーズも好きですが、これが役立つかどうかはわかりません。線形連続体力学に焦点を当てたものはまだ見つけていません。 強力なスケーリング(アムダール)は私のアプリケーションで非常に重要です。なぜなら、私の産業パートナーはシミュレーション結果を長時間待つことができないからです。私は間違いなく回答だけでなく、コメントでさらに読むための推奨事項にも感謝しています。

2
Intel Knights LandingのワークロードとNVIDIA GeForce
新しく発売されたIntel Xeon Phiが競合他社からHPC \ Super Computerの市場シェアを奪う方法について書かれた記事はたくさんあります。Intel Knightsには72コアと4ソケットが搭載されており、288コアシステムとなっています。一方、単一のGtx980には2048のCUDAコアがあります。これら2つはどのようにしてコンピューティング能力の点で競争できますか(GTXがはるかに進んでいるように見えます)?または、それらは完全に異なる作業負荷を対象としていますか?その場合、いくつかの例は何ですか? ありがとう。

1
スーパーコンピューティングの歴史を要約した参考文献を知っている人はいますか?
誰もが、並列プログラミング言語、アプリケーション、スタートアップ企業(確立されたものの存続しなかったもの)、業界のニーズなどの開発について言及するなど、スーパーコンピューティングの背後にある歴史とアイデアを要約した参考文献を知っています。

1
赤(-緑)-絞り込みと最新の頂点の二等分
これら2つのメッシュリファインメントの「長所と短所」は何ですか?どちらも一般的な方法のようです。 エラー分析を容易にするいくつかの魅力的な形式的プロパティ、さらにはNVBとのローカル適応が実装しやすいように見えるため、NVBはAFEM理論で使用されている一方で、グローバルな赤の調整は比較的簡単に実装でき、マルチグリッド法の研究に魅力的であると自然に想像できます。 Red-Green-Refinementよりも。

4
PBSジョブの延長
ウォールタイム制限の設定エラーのために、数日かかるジョブが途中で終了することを発見するのは非常に痛いです。 実行中のPBSジョブ用に変更する方法はありますか?
8 hpc  pbs 

4
(方法)メモリの断片化を考慮していますか?
私は有限要素理論の例を使用しますが、大規模なデータ構造を維持し、それを連続的に拡張する人なら誰でも同じようなものを見つけるでしょう。 ポイントと三角形の非構造化メッシュがあり、ポイントが座標(たとえばと)で与えられ、三角形がそれぞれ3つのポイントインデックス(たとえば、jとk)で構成されているとします。バツバツxyyy私私ijjjkkk FEMで一般的なように、メッシュは連続的に細分割されます。グローバルな通常の絞り込みに頼ると、三角形の数は、絞り込みが繰り返されるたびに4倍になります444。これがどのように行われるかに応じて、メモリレイアウトの開発方法は異なります。 メッシュが1〜300のメモリセルを占めているとします。 例1: 新しいメッシュのセル301から1501にスペースを割り当て、そこにリファインされたメッシュのデータを入力して、古いメッシュを忘れます。次のリファインされたメッシュはセル1501〜6300に配置され、次のメッシュは6301〜21500に配置されます。現在のメッシュの場所はメモリ内で「右」に移動しますが、巨大なパッチは使用されません。時期尚早にメモリ不足になる場合があります。 上記の例では、1つのリファインステップの妨げになるだけであることに気づくかもしれません。これは、断片化がなくても、後でリファインメントの合計メモリが不足するためです。頂点配列も考慮されるため、問題はさらに深刻になる可能性があります。 どうすればこれを回避できますか? 例2: 三角形の配列をセル1..1200に再割り当てします。セル1201から2400に新しいメッシュを作成します。その作業コピーの内容をセル1..1200にコピーし、作業コピーを忘れます。同様に繰り返します。 作業コピーが必要なため、まだメモリが不足しています。これはどう: 例3: 三角形の配列をセル1..1500に再割り当てします。古いメッシュを1201 .. 1500にコピーします。セル1..1200に新しいメッシュを作成します。次に、古いメッシュのコピーを忘れます。 これらのスケールではグローバルメッシュリファインメントを使用しないため、ここでのケースは人工的です。増加がはるかに小さい場合、断片化を回避するためにメモリの再調整が可能です。しかしながら、 質問: 実際の科学計算/高性能計算でメモリの断片化が重要になることはありますか? もしそうなら、どうやってそれを避けますか?たぶん私のマシンモデルは間違っているかもしれません、そしていくつかの重い魔法によるOSは暗黙のうちにメモリを再調整するか、ヒープ上の断片化されたブロックを管理します。 具体的には、グリッド管理にどのように影響しますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.