バヌクレヌ統合パラレルCUPC。 WindowsおよびLinuxのむンストヌル

画像 Unified Parallel CUPCは、倧芏暡な䞊列マシンでの高性胜コンピュヌティング甚に蚭蚈されたC蚀語拡匵です。 この蚀語は、共有メモリず共有メモリを備えたシステムの単䞀のプログラミングモデルを衚したす。 䞊列凊理の量は、プログラムの開始時に固定され、通垞はプロセッサコアごずに1぀のスレッドが䜿甚されたす。

» UPCの公匏りェブサむト
» バヌクレヌUPC公匏りェブサむト

か぀おは、UPCの展開に問題があり、むンタヌネットのロシア語セグメントたたは英語セグメントの最初のステップに関するヒントがありたせんでした。ただし、公匏のINSTALL.TXT呜什は消化する必芁がありたした。

この経隓が無駄にならないように、さたざたな環境でのUPCのむンストヌルに関する蚘事を曞くこずにしたした。

問題や質問がある堎合は、クリ゚むタヌに技術サポヌトを䟝頌できたす。 圌らはかなり迅速に応答したす圌らが惑星の反察偎にいるずいう事実を考えるず。 これを理解するのを手䌝っおくれたPaul HargroveずDan Bonacheaに感謝したす。

WindowsにBerkeley UPCをむンストヌルする


環境の準備

基本的に、UPCはLinuxの䞋で匷化されおいるため、最初に行うこずは、Linuxに䌌たコン゜ヌルず必芁なパッケヌゞをむンストヌルするこずです。

1. CygwinをむンストヌルしたすC\ Programs \ Cygwin64など、スペヌスのない名前のフォルダヌにむンストヌルするのが望たしい
→ www.cygwin.com/setup-x86.exe
→ www.cygwin.com/setup-x86_64.exe

デフォルトのむンストヌルに加えお、gccパッケヌゞgcc-core、gcc-g ++を远加する必芁がありたす。 次のコマンドでむンストヌルを確認できたす。
cygcheck -s 

2. Perlをむンストヌルするか、Cygwinパッケヌゞからダりンロヌドしたす

Berkeley UPCをむンストヌルする

1. Berkeley UPCをダりンロヌドしたす C\ Programs \ berkeley_upc-2.22.3 \ setup

2.ビルドのサブディレクトリを䜜成したすC\ Programs \ berkeley_upc-2.22.3 \ setup \ build

3. Cygwinを起動したす

4. configureスクリプトを実行したす。 むンストヌルディレクトリを指定するには、 --prefix=dirオプションを䜿甚しお、デフォルトのネットワヌクを指定したす--with-default-network=smp 察称型マルチプロセッシング、ロヌカルマルチコアマシン
 cd /cygdrive/c/Programs/berkeley_upc-2.22.3/setup/build ../configure --prefix=/cygdrive/c/Programs/berkeley_upc-2.22.3 --with-default-network=smp 
成功 これで構成手順が完了したした。 次の手順に進む必芁がありたす。
gmake gmakeむンストヌル

5. UPCのコンパむル
 make 

6. UPCをむンストヌルしたす。
 make install 

opt、dbgフォルダヌには、UPCコヌドで䜿甚されるランタむムラむブラリのさたざたなビルドが含たれおいたす。 optフォルダヌには最適化が含たれ、デフォルトで䜿甚されたす。 dbgフォルダヌは、upccで-gオプションを䜿甚する堎合のデバッグに䜿甚されたす。 これらのフォルダヌの内容を盎接䜿甚しないでください。 ビルドフォルダヌのupccおよびupcrunナヌティリティ、たたはむンストヌルフォルダヌのbinサブフォルダヌを䜿甚する必芁がありたす。

毎回ナヌティリティぞのパスを指定しないようにするために、PATH環境倉数にビンパスを远加できたすコンピュヌタヌのプロパティ->システムの詳现蚭定->環境蚭定。

UPC構成テストオプション

0.各ビルドサブフォルダヌには、upcc.conf構成ファむルが含たれおいたす。 確認しお、必芁に応じお線集したす。

1.最小構成テストビルドフォルダヌから
 env UPCC_FLAGS= ./upcc --norc --version 
これはupccBerkeley Unified Parallel Cコンパむラ、vです。 2.22.3
リモヌトトランスレヌタヌ蚭定の取埗...
---------------------- + --------------------------- ------------------------------
UPCランタむム| v。 2.22.3、2016幎10月26日10:22:58に䜜成
---------------------- + --------------------------- ------------------------------
UPC-to-Cトランスレヌタヌ| v。 2.22.2、2016幎5月12日15:50:34に䜜成
| ホストアブラムシlinux-x86_64 / 64
| gcc v4.2.4Ubuntu 4.2.4-1ubuntu4
---------------------- + --------------------------- ------------------------------
翻蚳者の堎所| upc-translator.lbl.gov/upcc-2.22.2.cgi
---------------------- + --------------------------- ------------------------------
サポヌトされおいるネットワヌク| udp smp
---------------------- + --------------------------- ------------------------------
デフォルトネットワヌク| smp
---------------------- + --------------------------- ------------------------------
pthreadsサポヌト| 䜿甚可胜䜿甚する堎合、デフォルトはプロセスごずに2 pthread
---------------------- + --------------------------- ------------------------------

2.テストをコンパむルしたす。
 make tests-hello 
==== UPC「HELLO WORLD」テストが正垞に終了したした====
UPCコンパむルのセットアップは、怜出されたすべおのネットワヌクで機胜しおいるようですudp smp
ここで、察象の各ネットワヌクのUPCランタむム操䜜をテストする必芁がありたす。
次のようなコマンドを䜿甚しお、単䞀ノヌドのsmp / pthreadedネットワヌクをテストするこずから始めたす。
./upcrun -n 2 libupcr-smp-par-test

3.各タむプのネットワヌクの結果を確認したす。
 ./upcrun -n 2 ./opt/libupcr-smp-par-test 
UPCRSERAVKIN-PCのUPCスレッド0..1プロセス0 of 1、pid = 17100
バヌクレヌUPCぞようこそ
-スレッド0からこんにちは
-スレッド1からこんにちは

 ./upcrun -n 2 ./opt/libupcr-udp-par-test 
upcrunノヌドが指定されおいたせん 「man upcrun」のUDPベヌスのUPCゞョブの実行を参照しおください。

䟋

 cd /cygdrive/c/Programs/berkeley_upc-2.22.3/bin ./upcc /cygdrive/c/Programs/berkeley_upc-2.22.3/upc-examples/hello.upc -o hello -pthreads ./upcrun -n 4 hello 
UPCRSERAVKIN-PCの4のUPCスレッド0..3プロセス0の1、pid = 32016
バヌクレヌUPCぞようこそ
-スレッド2からこんにちは!!!
-スレッド1からこんにちは!!!
-スレッド3からこんにちは!!!
-スレッド0からこんにちは!!!

䞍快な制限

Windows環境では、オンラむンのUPC-to-Cトランスレヌタヌデフォルトで䜿甚のみを䜿甚できたす。 したがっお、オンラむンである必芁があり、動䜜が遅くなりたす。 しかし、最もストレスの倚いのは、バヌクレヌがすべおのプログラムを傍受する可胜性があるこずです。 タスクが教育的なものであれば倧䞈倫ですが、䜕か深刻なものであれば、なんずなく䞍快です。 さらに、デバッグはLinuxでのみ機胜するずいう懞念がありたす。 このすべおをWindowsで開始するには、仮想マシンをむンストヌルできたす

バヌチャルROSAフレッシュ


1.最初に、 Oracle VM VirtualBoxなどの仮想マネヌゞャヌをむンストヌルする必芁がありたす 。

2. Linuxむメヌゞをダりンロヌドしたす。 ROSA Fresh KDEの遞択が䞋がったのは、 これは囜内の開発です。

3.新しいマシンOther Linuxを远加し、RAMを同情しない限り割り圓おたす。

4.蚭定
システム-プロセッサプロセッサ-すべおのコア、90制限そうでない堎合、メむンシステムは高負荷で応答を停止したす。
ディスプレむ-画面96 MBのビデオメモリ
メディア-Linuxで画像を远加する
ネットワヌクはネットワヌクブリッゞです。

5.仮想マシンを起動したす。 [ROSAデスクトップのむンストヌル]を遞択し、システムのプロンプトに埓いたす。 第䞀印象はポゞティブです。

Linuxむンストヌル


環境の準備

ロヌザ
1.タヌミナルでコマンドを実行しおg ++をむンストヌルしたす。
 urpmi gcc-c++ 

Alt Linux
1. g ++をむンストヌルしたすリポゞトリから、たたは最新バヌゞョンを芋぀けたす
 apt-cache search gcc-c++ apt-get install gcc5-c++ 

2. perl-Term-ReadLine-Gnuをむンストヌルしたす
 apt-get install perl-Term-ReadLine-Gnu 


Berkeley UPC-to-Cトランスレヌタヌをむンストヌルする

1. Berkeley UPC-to-Cトランスレヌタヌをダりンロヌドし、フォルダヌ内のタヌミナルを開きたすコンテキストメニュヌを䜿甚。

2. makeコマンドを実行したす。
 make 
-***ビルド完了 ***
これでコンパむラをむンストヌルできたす
make prefix = / prefix / to / useをむンストヌルしたす

3.昇栌された暩限でむンストヌルを実行したす。
 sudo make install 
-***むンストヌル完了 ***
このトランスレヌタヌをロヌカルで䜿甚するには、次のパス名を挿入したす。
/ usr / local / bupc_translator / targ
upcc.confたたは〜/ .upccrcの「translator」蚭定で、
たたはupcc -translator = pathに枡したす

Bukeley UPC Build

1. Berkeley UPCのダりンロヌド

2.サブフォルダヌビルドを䜜成し、フォルダヌ内のタヌミナルを開きたすコンテキストメニュヌを䜿甚

3.ロヌカルトランスレヌタヌずデフォルトのネットワヌクsmp察称型マルチプロセッシング、ロヌカルマルチコアマシンで構成ファむルを実行したす。
 ../configure BUPC_TRANS=/usr/local/bupc_translator/targ --with-default-network=smp 
成功 これで構成手順が完了したした。 次の手順に進む必芁がありたす。
gmake gmakeむンストヌル

4. UPCのコンパむル
 make 

UPC構成テストオプション

0.各ビルドサブフォルダヌには、upcc.conf構成ファむルが含たれおいたす。 確認しお、必芁に応じお線集したす。

1.ビルドフォルダヌから構成テストを実行したす。
 env UPCC_FLAGS= ./upcc --norc --version 
これはupccBerkeley Unified Parallel Cコンパむラ、vです。 2.22.3
---------------------- + --------------------------- ------------------------------
UPCランタむム| v。 2.22.3、2016幎10月26日14:01:01に䜜成
---------------------- + --------------------------- ------------------------------
UPC-to-Cトランスレヌタヌ| v。 2.22.2、2016幎10月25日16:22:01に䜜成
| ホストRosa-VB linux-x86_64 / 64
| gcc v4.9.2 20140811ROSA
---------------------- + --------------------------- ------------------------------
翻蚳者の堎所| / usr / local / bupc_translator / targ
---------------------- + --------------------------- ------------------------------
サポヌトされおいるネットワヌク| udp smp
---------------------- + --------------------------- ------------------------------
デフォルトネットワヌク| smp
---------------------- + --------------------------- ------------------------------
pthreadsサポヌト| 䜿甚可胜䜿甚する堎合、デフォルトはプロセスごずに2 pthread
---------------------- + --------------------------- ------------------------------

2.テストのコンパむルを開始したす。
 make tests-hello 
==== UPC「HELLO WORLD」テストが正垞に終了したした====
UPCコンパむルのセットアップは、怜出されたすべおのネットワヌクで機胜しおいるようですudp smp
ここで、察象の各ネットワヌクのUPCランタむム操䜜をテストする必芁がありたす。
次のようなコマンドを䜿甚しお、単䞀ノヌドのsmp / pthreadedネットワヌクをテストするこずから始めたす。
./upcrun -n 2 libupcr-smp-par-test

3.各タむプのネットワヌクの結果を確認したす。
 ./upcrun -n 2 ./opt/libupcr-smp-par-test 
UPCRRosa-VBのUPCスレッド0..1 of 2pshmノヌド0 of 1、プロセス0 of 1、pid = 12494
バヌクレヌUPCぞようこそ
-スレッド1からこんにちは
-スレッド0からこんにちは

 ./upcrun -n 2 ./opt/libupcr-udp-par-test 
upcrunノヌドが指定されおいたせん 「man upcrun」のUDPベヌスのUPCゞョブの実行を参照しおください。

Berkeley UPCをむンストヌルする

1.昇栌した暩限でビルドからmake installコマンドを実行したす。 デフォルトでは、むンストヌルは/ usr / local / berkeley_upcディレクトリで行われたす。 ディレクトリを倉曎するには、オプション--prefix=dir䜿甚できたす
 sudo make install 

2.環境倉数にパスを远加したす。 これを行うには、ファむル/home/user/.bashrcに行を远加するタヌミナルを開いたずきに自動的に開始するか、珟圚のセッションに適甚したす。
 export PATH=$PATH:/usr/local/berkeley_upc/bin 

3.開始を確認したす。
 upcc --version 
これはupccBerkeley Unified Parallel Cコンパむラ、vです。 2.22.3

䟋

1. upc-examplesフォルダヌでタヌミナルを開きたす。

2.コマンドを実行したす。
 upcc ./hello.upc -o hello -pthreads upcrun -n 4 hello 
UPCRRosa-VBのUPCスレッド0..1 of 4pshmノヌド0 of 1、プロセス0 of 2、pid = 13295
UPCRRosa-VBのUPCスレッド2..3 of 4pshmノヌド0 of 1、プロセス1 of 2、pid = 13320
バヌクレヌUPCぞようこそ
-スレッド1からこんにちは
-スレッド3からこんにちは
-スレッド0からこんにちは
-スレッド2からこんにちは

Eclipse開発環境


Eclipse開発環境は、Berkeley UPC蚀語をサポヌトしおいたす。 Eclipse for Parallel Application Developersアヌカむブから解凍するだけです。 Eclipse Parallel Tools PlatformPTPプロゞェクトの詳现に぀いおは、 こちらをご芧ください 。

開梱埌、次の蚭定を行う必芁がありたす。

0. Javaランタむム環境のむンストヌル

1.曎新の確認メニュヌのヘルプ→曎新の確認を開きたす。 C / C ++ Berkeley UPCUnified Parallel Cツヌルチェヌンサポヌトの曎新

2.新しい「Hello World UPCプロゞェクト」プロゞェクト、ツヌルチェヌンLinux Berkeley UPC倚くの䟿利なデフォルト蚭定を䜜成したす

3.次を含むパスを指定したす。プロゞェクトのプロパティ→C / C ++䞀般→パスずシンボルを開きたす。 UPCの堎合、むンクルヌドパスを远加したす。

リリヌス構成
 /usr/local/berkeley_upc/opt/include/upcr_preinclude /usr/include 

デバッグ構成
 /usr/local/berkeley_upc/dbg/include/upcr_preinclude /usr/include 

4.ロシア語のコメントのスペルチェックを無効にしたす。 コメントを右クリックしお、[スペルチェックを無効にする]を遞択したす。
5.ロシア語のレむアりトにクむックボタンを远加したす。 メニュヌりィンドり-蚭定-䞀般-゚ディタ-キヌ。 項目「コピヌ」、「カット」、「貌り付け」をコピヌし、「バむンド」フィヌルドに独自の組み合わせを远加したす

泚釈


䜿甚する

倚くの組み蟌みマニュアル
 man upcc man upcrun 

デバッグ

曎新 バヌクレヌ統合䞊列CUPC。 GNU gdb C debbugerを䜿甚したデバッグ。 呌び出し履歎

ご枅聎ありがずうございたした 誰かが圹に立぀ずいいな

Source: https://habr.com/ru/post/J315190/


All Articles