タグ

OpenMPに関するrydotのブックマーク (7)

  • Enhanced Intel SpeedStep® Technology and Demand-Based Switching on Linux* - Intel® Software Network

    Using Intel.com Search You can easily search the entire Intel.com site in several ways. Brand Name: Core i9 Document Number: 123456 Code Name: Emerald Rapids Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice* Quick Links You can also try the quick links below to see results for most popular searches. Product Information Support Drivers & Software

    Enhanced Intel SpeedStep® Technology and Demand-Based Switching on Linux* - Intel® Software Network
    rydot
    rydot 2014/02/23
  • OpenMPとC++例外の危険な関係 - yohhoyの日記

    OpenMP並列化領域内からC++例外を送出する場合、例外を送出したスレッドと同一スレッド上で例外catchを行う必要がある。すなわちOpenMPスレッドをまたぐC++例外伝搬は行われず、またOpenMP並列化領域の中から外へC++例外が送出されてはならない。このルールに反する場合、実行時クラッシュなどを引き起こす可能性がある。 #pragma omp parallel for for (int i = 0; i < 100; i++) { //... throw i; // NG: parallel領域を超えてC++例外が送出される } #include <memory> #include <new> #pragma omp parallel thread_num(2) { try { //... auto = std::make_shared<T>(/*...*/); // ::new

    OpenMPとC++例外の危険な関係 - yohhoyの日記
  • OpenMPでのbreak - 本当は怖いHPC

    2ch「OpenMPプログラミング」スレ304より引用。 OpenMPループ内でのbreakは許可されていないが、自分でループ範囲を決めてフラグを立てることで同じことが可能。 // from http://hibari.2ch.net/test/read.cgi/tech/1102483474/304 #include <stdio.h> #include <omp.h> #define FIN 100 #define TARGET 70 int main(){ int i, found=0, cnt=0; #pragma omp parallel reduction(+:cnt) { int t, n, is, ie; t = omp_get_num_threads(); n = (FIN + t - 1) / t; is = n * omp_get_thread_num(); ie =

    OpenMPでのbreak - 本当は怖いHPC
  • How to: Convert an OpenMP Loop that Uses Cancellation to Use the Concurrency Runtime

    Some parallel loops do not require that all iterations be executed. For example, an algorithm that searches for a value can terminate after the value is found. OpenMP does not provide a mechanism to break out of a parallel loop. However, you can use a Boolean value, or flag, to enable an iteration of the loop to indicate that the solution has been found. The Concurrency Runtime provides functional

    How to: Convert an OpenMP Loop that Uses Cancellation to Use the Concurrency Runtime
  • C++ 開発者が陥りやすい OpenMP* の 32 の罠 | iSUS

    この記事は、インテル® ソフトウェア・ネットワークに掲載されている「32 OpenMP traps for C++ developers」 (http://software.intel.com/en-us/articles/32-openmp-traps-for-c-developers/) の日語参考訳です。 はじめに マルチコアシステムが急速な広がりをみせており、並列プログラミングへの早急な対応が求められています。しかしながら、経験豊富な多くの開発者にとってもこれは新しい分野です。既存のコンパイラーとコード・アナライザーでも、並列コードの開発中に一部の問題を発見することはできますが、多くの問題は検出できません。この記事では、OpenMP* を使用する並列プログラムが正しく動作しない原因となるさまざまな問題について説明します。 概要 並列プログラミングが登場したのはかなり以前のことです

    C++ 開発者が陥りやすい OpenMP* の 32 の罠 | iSUS
  • インテル® コンパイラーOpenMP* 入門.pdf

    ® OpenMP* / 1 ® OpenMP* 1 1 1 ......................................................................... 2 2 ........................ 3 3 ....................................................... 5 4 ............................... 7 5 ............................ 9 5.1 ........................................................................ 9 5.2 OpenMP* API ............................ 13 6 .......

  • OpenMPの使い方:tech.ckme.co.jp

    OpenMPは複数のCPU(複数コアを含む)を持った計算機上での並列化に威力を発揮する。 OpenMPを使う最大の利点は、OpenMPに対応したコンパイラであれば、非常に簡単に並列化できる点である。 現在、gcc、Visual C++、およびIntelコンパイラなど主要なコンパイラはOpenMPに対応している。 習得も他の並列化技法に比べて比較的容易である。 なお、速度を最優先にする場合、単一コンピュータ上で動かした場合でも、メモリのローカリティのためかOpenMPよりMPIの方が効率のよいことが多い。MPIに関してはこちらを参照。 なお、インテルがOpenMP初心者向けに非常にわかりやすい文書を公開している。 OpenMPプログラムのコンパイル OpenMPの各種関数を使わない場合、#pragma ompで始まる指示をソースコード内に書き込み、下記のコンパイルスイッチをつけてコンパイルす

  • 1