高橋(徹)です。 The Art of Multiprocessor Programmingの1章 Fig 1.1/1.2の プログラム断片を、マルチスレッドで動作するコードに仕上げました。 素数判定は、遠藤さんから教えてもらった方法(判定する数の平方根以下の除数 でよい) に変更し、計算時間がかなり短縮できました。 → 10^9以下の範囲の素数検索で、2時間前後なので、10^10での計算可能性が 出てきました(数日から数週間?)。 添付のzipファイル中のREADME.txtにコンパイル・実行方法を記載していますので ご興味のある方はご参照ください。 余談)素数判定ロジックをGPGPUで実現したら、という高橋(智)さんのアイデアは 技術的に面白そうなので、試してみようと思いますが、Windows 7 64bit版を 入れて いるので、ちょっと環境構築に手間がかかりそうです。 ATI stream SDK Ver.2.2 Vista/Windows 7 64bit版 は、コンパイラに Microsoft Visual Stuido 2008/2010 いずれもProfessional Editionが必要と あります。 ドライバが64bitなので、64bitコンパイラが必要です。 Express版は32bit版コンパイラのみなので、Windows 7 SDKを別途入手し、そ の中の 64bitコンパイラをExpressから使えるようにがんばって設定するといける可能 性があり ます。 OpenCL以外に、DirectXのDirectComputingという選択もあるようですが、こちらは 情報を集めきれてません。
Attachment:
prime-src.zip
Description: Zip compressed data