[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 13378] Re: Fig 1.1 、 Fig 2.2 のプログラム(素数判定)



今井です。こんばんは。

isPrime()で、最小除数を求めるループでは、
4以上の偶数は調べる必要がない(4以上の偶数で
割り切れるのであれば2でも割り切れる)ので、
2を調べたらあとは奇数だけ調べていけばOKです。

判定対象も2以外の偶数は素数ではないので必要ないですが
それをすると問題が変わってきてしまいますね。

--- "TAKAHASHI,Toru" <torutk@xxxxxxxxxxxx> wrote:

>  高橋(徹)です。
> 
> 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という選択もあるようですが、こ
ちらは
>  情報を集めきれてません。
> 
> 
> 
> 
> 


--------------------------------------
Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/ie8/