[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 17:28 / Filesize : 215 KB / Number-of Response : 912
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GPGPU】くだすれCUDAスレ【NVIDIA】



1 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 11:13:52 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
CUDA使いが優しくコメントを返しますが、
お礼はCUDAの布教と初心者の救済をお願いします。

CUDA・HomePage
www.nvidia.com/cuda

関連スレ
【GPGPU】NVIDIA CUDA質問スレッド
pc11.2ch.net/test/read.cgi/tech/1190008468/
GPUで汎用コンピューティングを行うスレ
pc11.2ch.net/test/read.cgi/tech/1167989627/
GPGPU#2
pc11.2ch.net/test/read.cgi/tech/1188374938/



652 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:29:08 ]
GTSは9800シリーズのリネーム

653 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:52:17 ]
初歩的なこと聞くけど、これってグラボ一台でもできるよね?
表示用と別にCUDA専用のグラボって必要?

654 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:05:44 ]
>>653
その程度が分からないと厳しいかと思いますよ。
分からなくても、やってみて駄目だったら買い足すってことで問題ないと思うけど。

655 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:20:36 ]
>>653
ttp://ja.wikipedia.org/wiki/CUDA#.E3.83.8F.E3.83.BC.E3.83.89.E3.82.A6.E3.82.A7.E3.82.A2

656 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 18:27:35 ]
>>655
赤くなっている。。。
GTS250持っているからできると思ったんだけど、二台必要なのかな?
GPUGRIDに参加しようかと思ったらドライバ入れてるのにCUDA対応のデバイスが見つかりませんっていわれるし・・・・。

657 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:56:39 ]
1台でも使える。
ただ処理中に画面が固まってOSが制御不能になることがある。

658 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:24:34 ]
>>657
うーん、CUDAがちゃんと入ったかどうか確認する方法ってありますか?

659 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 15:35:15 ]
PyCUDAなんてあるのか、おもしろそう

660 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/05/11(月) 20:57:31 ]
RuCUDAが必要だな



661 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 21:41:12 ]
>>656
参加したいGPUGRIDがどんなのか分からんが、
もし、倍精度浮動小数点の演算が必要なものなら、
GTX200シリーズじゃないと無理。

ちなみに、モニタがつながっているかPhysX指定がされてないと、
CUDAでデバイス列挙されないぽい。

662 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:29:13 ]
Py損とかルビィとか手続き型スクリプト言語は向かんだろ。
ocamlとか、Earlangとかの関数型言語をGPGPU対応に
した方が御利益は大きいんじゃね?

並列計算の場合、副作用とか、計算の依存関係が有ると
性能出ないんで…。

663 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 22:31:21 ]
Earlang(笑)

664 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 00:29:01 ]
統計解析ソフト「R」用のパッケージ「gputools」:
ttp://cran.r-project.org/web/packages/gputools

これのWindows版バイナリを作ってくださるネ申はいらっしゃいませんでしょうか。 m(゚-゚;)カミサマ…

665 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 10:27:22 ]
>>660
こんなのはあるみたいですが
ruby-opencl.rubyforge.org/


666 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 17:38:13 ]
GPUの計算部分で
レジスタを多く使っちゃうようにコンパイラで最適化されちゃうんだけど
部分的に無効にする方法はありませんか?

667 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/18(月) 20:36:57 ]
volatile

668 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 23:05:56 ]
>>667
?volatileは最適化から外すだけで、レジスタには適応されるっしょ

つか>>666 のレジスタ使ったら嬉しくない事ってのが想像できない。。。

669 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 23:42:16 ]
>>648
SPだって年間何億個でも量産できるけど。

>>649
誰も、GPUを何個も用意しろとは言ってない。

670 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/18(月) 23:56:12 ]
>>668 volatile __shared__



671 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 09:21:51 ]
>666の動機によっては__shared__では何の解決にもならないような。
確認していないけれど、恐らくレジスタを使い回さずに消費しまくる方が速いんだろうねぇ。

672 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 14:36:24 ]
SP2+未公開パッチで7RC以上に軽くなってるよ

Windows Vista SP3 Part1
pc12.2ch.net/test/read.cgi/win/1241571715/225

673 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 14:38:56 ]
ゴバーク

674 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 18:11:27 ]
SSE 4コアフルに使ったら
最上位品でも大差ないw

675 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 15:06:57 ]
code.google.com/p/thrust/
>Thrust is a CUDA library of parallel algorithms with an interface resembling the C++ Standard Template Library (STL).

676 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/30(土) 18:16:26 ]
きた!STLきた!これで勝つる!  


ないない

677 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 21:28:10 ]
brookみたいだな。

678 名前:デフォルトの名無しさん [2009/06/02(火) 17:20:15 ]
仮想マシン上でCUDAのインストールに成功した方はいらっしゃいますか?
当方、ホストOS:Vista、ゲストOS:Ubuntu8.04です。
仮想マシンであるUbuntu上で、NVIDIAドライバ: NVIDIA-Linux-x86-180.22-pkg1.runを起動してみました。
すると、「 You do not appear to have an NVIDIA GPU supported by the 180.22 NVIDIA Linux graphics driver installed in this system」とエラーがでました。
GPUは、GeForce 9800 GTです。どなたか、アドバイスお願いします。

679 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 17:50:02 ]
仮想マシンは無理

680 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 02:45:20 ]
>>675
合計なんかCUDAでやって早くなるのか?



681 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/06/03(水) 02:49:18 ]
分割統治法は並列化の基本だな

682 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 10:53:10 ]
合計求めるのは苦労したなぁ。
結局、分割数(128とか256とか)置きに足していって、その結果はPCで足した記憶がある。

683 名前:デフォルトの名無しさん mailto:sag [2009/06/03(水) 11:18:35 ]
とりあえず公式の3つをインストールしたのですがTMPGEncで確認できませんみたいなことを言われました。
インストールするだけではcudaの恩恵を与れないのでしょうか?

684 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 11:31:01 ]
すいません、直ぐ解決しましたorz
クダがちゃんと動いているか確認したいのですが方法はありますでしょうか?

685 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 11:57:52 ]
>>684
SDKをインストールしたのなら、サンプルもインストールしてビルドしてみよう。サンプルが動けば、大丈夫。
# 特に、deviceQueryは便利。

686 名前:デフォルトの名無しさん [2009/06/03(水) 14:12:00 ]
こんにちは。CUDA初心者です。質問があります。
Visual C++ 2008、CUDA tool kit ver2.1、CUDA SDK ver2.1
で、サンプルのsimpleCUBLASをビルドすると、
1>LINK : fatal error LNK1181: 入力ファイル 'cutil32D.lib' を開けません。
と出ます。
そこで、CUDA SDKのlibを調べたところ、
cutil64D.libがあり、32のほうはありませんでした。
この場合、どうすればビルドできるのでしょうか?


687 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 15:00:01 ]
リリースバージョンをリンクする。

688 名前:デフォルトの名無しさん [2009/06/03(水) 16:01:01 ]
リリース構成でビルドしたところ、今度は、
1>LINK : fatal error LNK1181: 入力ファイル 'cutil32.lib' を開けません。
と出ました。
CUDA SDKには、64があり、32はありません。
32と64の違いって一体何なのでしょうか・・・

689 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 16:17:51 ]
パスが通ってないんだろ

690 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 17:07:17 ]
OSが64bitだと、32bitのCUDAライブラリはインストールされなかったような。



691 名前:デフォルトの名無しさん [2009/06/03(水) 17:07:40 ]
ご回答ありがとうございます。
パスが通っていないということですが、
「パスを通す」について、詳しく説明していただけませんか?
知識不足で申し訳ありません;;

692 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 17:43:34 ]
環境を名に使ってるかによるが、
Visual Studioだとプロジェクトのプロパティからインクルードするファイルがあるディレクトリのパスと、
libがあるディレクトリのパスをついかする
linuxだとコンパイラのオプションに追加する

詳しくはぐぐれ

693 名前:デフォルトの名無しさん [2009/06/03(水) 18:04:37 ]
何度も回答していただきありがとうございます。
リンカの追加ライブラリを調べたところ、
ちゃんと、SDKのcommon/libが指定されてました。
しかし、この中には、cutil32.libではなく、64があります。
ということは、690さんのおっしゃるとおり、
32bitのCUDAライブラリはインストールされなかったということなのでしょうか?
もしそうでしたら、サンプルプログラムは64bitに対応してないが、
自分でプログラムを作る分には、上記のようなエラーはでないということでしょうか?

694 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:53:30 ]
サンプルのリンカ設定を編集して64bitのライブラリをリンクすればいいんじゃね?

695 名前:デフォルトの名無しさん [2009/06/04(木) 13:12:53 ]
アクティブソリューションプラットフォームとプラットフォームをWin32からx64へ変更したところ、
エラーがなくなりました。
そのかわり、
1>------ ビルドのスキップ: プロジェクト: simpleCUBLAS ------
1>
========== ビルド: 0 正常終了または最新の状態、0 失敗、1 スキップ ==========
とスキップしてしまいました。
何が原因なのでしょうか・・・

696 名前:デフォルトの名無しさん [2009/06/04(木) 18:26:30 ]
threadIdx.xがうまく値を返さなく困っています。
最小のプログラミングだと ちゃんとした値を確認できるんですけど、
規模のあるプログラム書いた物では、threadIdx.xをみると最大でも1000以内の数値が40000を超えていたりします。

かなりラフな書き方していて、グローバル変数使いまくってるのが意見ないのでしょうか?
__device__  kouzoutai[2000];//グローバル変数
とか宣言しまくって搭載メモリーを超えちゃってるかもしれませんが、その時は明確なエラーとか出ますか?


697 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 19:59:22 ]
エラーは基本的に出ない

698 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 09:08:24 ]
>>696
threadIdxはプログラムで変更できないと思うが。
どうやってthreadIdx.xを「みる|確認できる」としたのか知らんが、その手段を確認すべきでは?
ptx出力を眺めればthreadIdx.xをコピーした先で壊してたりするのが分かるんじゃない?
グローバル変数にたった2000要素くらいなんてことないと思うが、巨大な構造体でも置いてるの?
あーそれから、メモリをオーバフローしてもコンパイルエラーも実行時エラーも出ないどころか、
突然システムごとフリーズするかもしれないから覚悟しておいてね。

699 名前:デフォルトの名無しさん [2009/06/06(土) 17:41:22 ]
>>501
   ?
  ∧∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄


700 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 01:25:14 ]
寝た子を起こしたなw



701 名前:デフォルトの名無しさん [2009/06/08(月) 08:06:10 ]
>>699
  !
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄


702 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:11:26 ]
 
  あ"
  ∧∧
 (◎ω◎)
 _| う/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄

703 名前:デフォルトの名無しさん [2009/06/09(火) 23:30:40 ]
>>701
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄


704 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 20:07:54 ]
質問。
グリッド・ブロック・スレッドのカーネル側での計算への応用方法が
よくわからないのですが・・・・特に動きです。

const unsigned int tid =blockIdx.x * blockDim.x + threadIdx.x;
がスレッドIDを示しているというのはわかるのですが・・・

for(int x=0;x<height;x++)
for(int y=0;y<width;y++){
        sum=sum+tex2D(tex, x, y)*((float)(cos((M_PI*((x*width+y)+0.5)*tid)/number)));

}
outputdata[tid]=sum;

の中で、tidはどういう働きをしてるんでしょうか?
特に回収する配列であるoutputdataの動きが知りたいです。
わかる方ご教授お願いします・・・




705 名前:デフォルトの名無しさん [2009/06/12(金) 04:58:52 ]
>>703
  ∧,,∧
 ( `・ω・) ウーム…ここは?
 / ∽ |
 しー-J


706 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 09:52:33 ]
>>704
何が判らんのか判らん。
tidが個別のデータスレッドの番号を指すように働くことが判っているなら、

その番号でoutputdataにアクセスしていることくらい判りそうなもんだが。

仮に、blockDimが4でgridDimが2だとしたら、blockIdxは0か1、threadIdxは0から3になるわけで。
つまりはtidは0から7になるわけだな。

つーか、VIPのWikiにも情報があるよ。
vipprog.net/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/CUDA.html

707 名前:デフォルトの名無しさん [2009/06/13(土) 00:18:28 ]
>>730
カウンター3連打って言うけどスローで見るとカウンター2発に追撃1発って感じ
まあそれでも凄いって言うか、何この異次元映像w
もはや芸術的とか圧倒的とかそういうレベルを超越していて笑いしか出てこないわけだが?www
しかもメディナは立ち上がるしww不死身かwwww
この試合はボクシング以外の何か別の競技だわwwwwwwww

708 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 00:24:10 ]
誤爆すまそ
俺が代わりに言っといてやったぜ

709 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 01:35:36 ]
CUBLASに加えてCULAPACKとか用意して欲しい
LU分解もできない環境なんて

710 名前:デフォルトの名無しさん [2009/06/13(土) 04:07:09 ]
GPGPUはDirectX11で花開くんだろ。
エンコード高速化対応お待ちしております。

DirectX 11講座(中編)
非ゲーマーのアナタのパソコンも
DirectX 11演算シェーダーでスーパーコンピューターに変身する!
game.watch.impress.co.jp/docs/series/3dcg/20090327_79998.html
GPGPUの場合は、組んだGPGPUプログラムがATIかNVIDIAのどちらかでしか動かない、
踏み絵的な「ATI対NVIDIA」なのだ。
これではGPGPUの進化、発展、普及が望めない。
そこでGPGPUの標準化プラットフォームが強く望まれるようになった。
このGPGPU標準プラットフォームを、Windows環境下で提供しようと出てきたのがDirectX 11ということになる。
DirectX 11は、このGPGPUの標準プラットフォームとして「DirectX Copmute Shader」(演算シェーダー)を提供する。


演算シェーダーでなにができるのか
game.watch.impress.co.jp/img/gmw/docs/079/998/html/3dd1103.jpg.html




711 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 08:42:36 ]
>>710
エンコードって意外に並列処理できる箇所少ないんだけど。。。CUDAでどのベンダも対応してこないのはそのため。
Compute Shader出てきても状況は変わらないと気が

712 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 15:19:59 ]
それマルチ

713 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 18:56:21 ]
今日本屋見てきたけど
CUDAの入門書とかって無いね。
世の中にはあるのかな。

714 名前:デフォルトの名無しさん [2009/06/16(火) 16:56:23 ]
__device__ int particle_position[30][30][50][30];
__device__ int particle_position_num[30][30][50];
 :
とか
__device__ __constant__ float K_dWpress;
 :
な感じで、結構たくさんグローバル変数をデバイス側に作ってるんだが、
これって、CUDA的にやっていい手法?てか数次元配列ってカーネル関数内で普通のcっぽくアクセスできる?

とりあえずメモリは足りるみたいだから、デバイスホスト間でのデータ転送は基本的にしなくて、
結果のみホスト側に持ってきたいんだけど。

コンパイルエラーはないけど、カーネル起動させたあとエラーが出て、
一瞬画面が消える。

715 名前:714 [2009/06/16(火) 17:22:05 ]
追記
ちなみに、Emuモードだと問題なく終了できます。


716 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 17:29:37 ]
>>714
CUDAはメモリ管理なんてしないから、デバイス側の変数がどれだけあるのか自分で把握すること。
一瞬画面が消えるのは表示用とCUDA用を同じGPUでやっている所為だと思われ。
もっと酷いときはフリーズするから要注意で。

717 名前:デフォルトの名無しさん [2009/06/16(火) 23:29:13 ]
CUDA初心者です。

サンプルをいじくっているのですが、いくつかわからないことがあり質問させてください。

@テクスチャメモリ
キャッシュが効くからグローバルメモリよりも高速との事ですが、
時間を計ってみるとグローバルメモリと変わらない・・・。
どのような用途で使用するのでしょうか?

A異なるカーネル関数の同時実行
ブロック、スレッド数を決めてカーネル関数を実行しますが、
cudaThreadSyncrinize関数やメモリコピー関数を呼ばなければ
同期待ちはしないですよね?
であれば、カーネル関数を2つ書いたときに同時実行するのでしょうか?
マニュアルを見る限りではできないようですが、会社の先輩が出来るというのでホントかなと。

お分かりの方宜しくお願いいたします。

718 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 23:32:51 ]
俺も初心者だが。

1. 線形補完できるよ! 速度面で違わないなら、それ以上はどう違うのか知らん。

2. なんか俺の動かしてる感触だと同時実行してる気がする。 少なくともCPUとGPUで同期はしていないよ。

719 名前:717 [2009/06/16(火) 23:59:21 ]
>>718

サンクス。

@は線形補間機能があるのは存じていますが、
補間せず生データを使用したいものでして・・・。

Aは自分でも本家CUDAZONEで調べてみましたが、どうもできないっぽいです。

forums.nvidia.com/index.php?showtopic=84740&hl=cudaStreamSynchronize

このスレの前にもありましたね。
よく見てませんでした、すみません。
cudaStream〜って何のためにあるんだか。

720 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:40:24 ]
CUDAを始めようかと考えていますが、下記の様な処理はCUDAで速くなりますか?





721 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:55:31 ]
function hoge(const b:string):boolean;
begin
result:=true;
end;

722 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:58:07 ]
>>720
すみません、間違えて書き込んでしまいました。
改めて、
typedef struct _table_t {
float x,float y, float z;
} table_t;

typedef sturct _vec {
float vector[4];
} vec;

typedef union _vtemp_t {
vec V[3], table_t data[4];
} vtemp_t;

table_t DATA[100];(DATAにいろいろと情報をが入っている)
vtemp_t temp;
temp.data[0] = DATA[15];
temp.data[1] = DATA[43];
temp.data[2] = DATA[11];
temp.data[3] = DATA[80];
(tempのメンバdataにDATAの値をランダムに代入)
メンバdataがもつ、x、y、z情報をメンバVにx、y、z毎にまとめたいです。例えばこんな感じに。
V[0] = {data[0].x, data[1].x, data[2].x, data[3].x};
V[1] = {data[0].y, data[1].y, data[2].y, data[3].y};
V[2] = {data[0].z, data[1].z, data[2].z, data[3].z};
CellとかSSEならSIMDを使って出来ると思いますが、CUDAでも速くなるなら、
CUDAをやってみようかと思っています。




723 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 01:25:58 ]
それ計算じゃなくてただのメモリ転送じゃん。 CUDAでやることじゃないよ。

724 名前:デフォルトの名無しさん [2009/06/20(土) 14:41:38 ]
Mac でCUDAをやろうとしています。
/Developer/CUDA/lib/にあるライブラリをライブラリのサーチパスに含めるには
どの環境変数を設定すればよいのでしょうか?
LD_LIBRARY_PATHに追加してみたのですが、サーチしてくれません

725 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 14:43:15 ]
>>724
DYLD_LIBRARY_PATH

726 名前:デフォルトの名無しさん [2009/06/20(土) 15:02:09 ]
>>725
早速の回答ありがとうございます。
DYLD_LIBRARY_PATH に追加してみたのですがやはりうまくいきません。
ちなみに-Lで指定すればうまくいきます。


727 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:11:27 ]
Coalesced、Non-Coalescedって簡単にいうとどういうこと?

728 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:14:29 ]
>>108

729 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:18:03 ]
>>728
よくわからん

730 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 20:19:04 ]
ttp://noridon.seesaa.net/article/105559613.html



731 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:42:57 ]
大前提として、ブロック内でデバイスメモリにアクセスするアドレスが連続していたら、コアレス。
んで対応アーキテクチャによってスレッド単位でアドレスが連続している必要があったりする。

まぁ簡単に言うと、バス幅有効活用できまっせ適な使い方をイメージすればいいかと。
なんでそのバス幅でアクセスできるアラインを考える事になる。

732 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 23:08:40 ]
>>726
実行時じゃなくて、ビルド時のリンクのこと?
DYLD_LIBRARY_PATHは関係ないから-Lでやってね。

733 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 01:03:25 ]
>>726
LIBRARY_PATHでできなかったっけ?

734 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 06:52:13 ]
配列で最初と最後の変数だけ別の処理をしたいのですが、
どのように書けばよいのでしょうか?
従来のプログラムの場合、配列がa[N]だったばあい、
for(i=1;i<N-1;i++)と書けばよいのですが、
CUDAのカーネルで処理する場合どのようにすればよいのでしょうか?

735 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 07:45:47 ]
>>734
とりあえず、現状のカーネル書いてくれれば教えやすいのに

736 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 14:51:04 ]
NVIDIAが配布しているということで、PhysXの質問をさせて下さい。

キネマティックなアクターが物体と接触した時に受ける力の取得方法が分かりません。
ご存知の方がいらっしゃいましたらご教示下さい。

737 名前:734 [2009/06/21(日) 17:50:38 ]
>>735
例えば、今は

__global__ void test(int thread_size, int one_size, float *res_d)
{
    int bx = blockIdx.x;
    int tx = threadIdx.x;
    int pos = bx * thread_size + tx;
    if (pos==0)
        res_d[pos] = cos(res_d[pos]);
    else
        res_d[pos] = sin(res_d[pos]);
}

このように、if文で0とN-1の場合だけ別の処理をするようにしているのですが、if文は遅くなるので、避けたいのですが。

具体的にやりたいのは、3次元の偏微分方程式を解く際の境界条件部分の計算です。
この場合各面、各辺、各頂点合わせてif文が20個以上になってしまいます。

何か良い方法はないでしょうか?


738 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 18:12:51 ]
>>737
最初と最後だけ別の処理なら、そこはCPUに任せて、
残りをGPUにやらせればいいと思うけど、それじゃだめなん?
posを+1して、並列数をN-2にすればいけそうだと思うけど。

あと、そのソースだと N-1 の処理が別になってない気がするのと、
posがN以上かどうかのチェックが無いのが気になる。
(ソースは単に省略しただけで、チェックはそもそも必要ないように組んでるのかも知れないが)

739 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 18:53:40 ]
>>737
一般的にアセンブリレベルで分岐をなくしたいときは、こんなテクニックを使ったりする。

// i == Nのときだけsinをcosにする

float s = sin(なんとか);
floac c = cos(なんとか);
int b = i == N; // true が (int)1に変換されることを期待する
return (c * i) + (s * (1 - i));

もちろん3行目は実装依存なので、プロセッサのマニュアル見ながらいちいち確認はした方がいいんだが、
だいたいのプロセッサで使えるテクニック。

740 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 19:09:54 ]
>>737
それだと全てのパターンでsinとcosの両方が計算されるから

float s = sin(なんとか + b * PI / 2);

にすれば?



741 名前:740 mailto:sage [2009/06/21(日) 19:11:22 ]
ごめん安価ミスった

>>740>>739へのレスです

742 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 19:37:25 ]
CUDAにはsincosねーの?
また三項演算子でいいんじゃねーの?

743 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:01:37 ]
>>737
あらかじめ、特殊条件について位相を補正しときゃいいんじゃないの?と思うのは俺だけ?

744 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 00:12:40 ]
>>736
PhysXスレがゲーム製作技術にあるからそっち行け

745 名前:736 mailto:sage [2009/06/22(月) 01:52:13 ]
>>744
誘導ありがとうございます

746 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:53:08 ]
>>742
あるよ。但し、ストリームプロセッサに一個しか超越関数演算機がないから使い方間違うと遅くなるけど。

747 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 08:26:25 ]
>>746
超越関数演算機なんてハード的に存在したっけ?倍精度演算機じゃなくて?

748 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 14:47:11 ]
>>747
SFU(Super Function Unit)がある。
ただし、4SPで共有で、>>747のいうように8SPで共有するのは倍精度演算器。

sin()、cos()、tan()は確かに遅いけど、
sinとcosについては__sinf()と__cosf()を使えば、
精度は悪くなるけど1op/clockでできる。
除算以外の算術演算が8op/clockでできることを考えたらそれでも遅いことには変わりないけど。

749 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 15:22:26 ]
超越関数がレイテンシ1なんて凄いね
SFUだけ100倍のクロック数とか
してるのかなぁ

750 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:30:15 ]
www.khronos.org/opencl/
OpenCL 1.0 リリース



751 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:36:49 ]
First OpenCL demo on a GPU
www.youtube.com/watch?v=r1sN1ELJfNo


752 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:43:26 ]
www.nvidia.com/object/cuda_opencl.html

ドライバ一式は登録しないといけないようだ

753 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 21:47:02 ]
>>748
SFUなんてあったのか、しらなかった。DPみたいに実行はSPと並行してできるのかな?


754 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 07:13:15 ]
やっとFortran対応の話出てきたけど、有料なんかね
PGI and NVIDIA Team To Deliver CUDA Fortran Compiler
ttp://eu.st.com/stonline/stappl/cms/press/news/year2009/t2399.htm


755 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 07:18:14 ]
ていうかいつのまにかに2.3のベータ出てたのか

756 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 12:01:06 ]
GTX 285でようやくおれのようなへっぽこでも普通にcpuを凌駕するコードが書けるように
なったようだね。

後は(値段はともかく)消費電力が下がってくれれば、大ブレイクしそう。

757 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:19:52 ]
300Wなんてクアッドコアマシンを4台くらいクラスタリングしたような消費電力だからな

758 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 03:13:56 ]
>おれのようなへっぽこでも普通にcpuを凌駕する
だったらCPU要らんがな。
むしろCPU<->GPU間の通信がボトルネックなので、CPU無くして
GPUに直接I/O繋げられるようにしろや!

759 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:14:50 ]
>>758
それなんていうTesla?

760 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:30:38 ]
>>759
それTeslaでもない。



761 名前:デフォルトの名無しさん [2009/07/02(木) 07:45:08 ]
CUDAで乱数を効率的に生成する方法を教えてください

762 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 09:23:34 ]
>>761
コアごとに違う種から乱数生成すればいいんじゃね?

763 名前:デフォルトの名無しさん [2009/07/03(金) 00:25:57 ]
質問なんですが、SDKに付いてたサンプルをmakeしようとしたところ
以下のようなエラーが出てうまくいきません、何か足りないものがあるのでしょうか

/usr/bin/ld: cannot find -lXi
collect2: ld はステータス 1 で終了しました
make[1]: *** [../../bin/linux/release/nbody] エラー 1

OSはfedora10です。色々初心者なのでどうかお願いします。

764 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:52:49 ]
libXiというパッケージをインストールできないかね
俺もfedoraはよく記憶にないんだが

765 名前:デフォルトの名無しさん [2009/07/03(金) 07:55:20 ]
>>764
libXiというのがインストールされていないということだったのですか
早速インストールしたいと思います。どうもありがとうございました。

766 名前:デフォルトの名無しさん [2009/07/05(日) 04:21:12 ]
teslaとgeforceって何が違うの?




767 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 05:03:33 ]
OpenGL向けかDirectX向けか

768 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 10:40:00 ]
>>767
それquadroとgeforceでしょ。

>>766
teslaはhpc専用ボードで、ディスプレイの出力ポートがない。
NVIDIAがボードの製造まで一貫して行ってて、テストもしっかり通している…らしい。
あとメモリが4GB乗ってる。

769 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 09:01:42 ]
CUDAというよりハードウェアの話なんですが質問させてください

TESLA C1060をMM3500に刺したいんですが、この状態だとBIOSが拝めません
ビープ音「−・・(長短短)」って音がするんでAwardで調べたらビデオアダプタ不良らしい
マザーボードだけを他のに変えたら正しく起動するので、電源やTESLAが悪いわけではなさそうです
TESLAなしのMM3500だけならUbuntuのBoot CDからMemtestが走るとこまで行きました


770 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 09:34:48 ]
スレ違いどころか板違いだ
判ってるなら該当板いけよ



771 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:26:16 ]
>>769
買ったとこに聞いた方が良いかと...

772 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:46:08 ]
>>772
ありがとう まずはVIAにメールしてみます

773 名前:NVIDIAの営業の受け売りw mailto:sage [2009/07/07(火) 09:05:04 ]
・GeForce
NVIDIAはパーツ選択にはノータッチ。各社さんが勝手に安い部品を積んでいるから動作しなくても当然。
プロならそんなアキバ的発想はやめて、QuadroFXかTeslaを使ってください。
・QuadroFX
NVIDIAの厳しいテスト基準に合格した高品質の出力を保証しているから決して安くありません。
プロにも安心してお使いいただけます。
・Tesla
QuadroFX以上に品質に重点を置いてテストを行なっています。HPCにはこれ以外の選択肢はありえません。

774 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 09:07:57 ]
>>768
OpenGL向けもDirectX向けもないよ。>773にもある通り、NVIDIAがテストしているかどうかの違い。
なんせ、GeForceの製造販売を行なっているELSAの営業の前で堂々と>773みたいなことを仰ってる。
10倍の価格差も、当然ということなのでしょう。

775 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 22:07:57 ]
そりゃカノプーが手を引くわけだよな
どうしたってGeForceは価格競争になっちまう

776 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 00:28:37 ]
不特定多数の客向けのプログラムでGPGPUを使うコードを書くやつはアホウ、ってことだな。

777 名前:デフォルトの名無しさん [2009/07/08(水) 06:57:16 ]
全てアホウと決め付けるのはねぇ
 中には超やばいものを開発するかもよ(世界は広い)

特にロシア東欧は要注意!


778 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 00:40:40 ]
>>777
アホウと言っているのが、nVIDIAの営業ってことだよ。

779 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 00:02:30 ]
「阿呆」とは言わなかったけれど、「動かなくても当然ですから」くらいのことは言ってたなぁ。

780 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 00:17:01 ]
今月末に CUDA2.3 が出るとさ。

PGI compiler 9.0 は2週間体験できるから、Fortran で単純な行列積の
コードを書いて試してみたけど、Core2 Quad + GeForce9800GTX で
CUDA 2.0 という古い組み合わせのせいか,
!$acc region の設定の効果が全く現れなかった。

pgf95 -ta=nvidia:cc11 matrix.f
というコマンドでいいと思うんだけど。



781 名前:デフォルトの名無しさん [2009/07/11(土) 19:31:18 ]
CUDA用の姫野ベンチをGTX285で実行しようとしたのですけど動きませんでした。
何が原因かわかりません、どなたかわかる方いらっしゃいましたらお願いします。

782 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 20:08:49 ]
原因はわかりますが、何をお願いされているのかわかりません。

783 名前:デフォルトの名無しさん [2009/07/11(土) 21:19:47 ]
その原因について詳しく教えて頂きたいのですが

784 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 22:37:16 ]
>>783
原因なら簡単ですよ。
あんたが人間じゃなくて人だからです。

785 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 23:13:59 ]
動くかどうかも保障してないものが普及するとか思ってるのか?

786 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 23:20:06 ]
>>785
>779のことを言っているのなら、QuadroFXとTeslaがあるから大丈夫だと思っている
頭に蛆が涌いているとしか思えないNVIDIAの営業に言ってあげてください。

無駄だけどw

787 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:53:47 ]
visual profilerについて質問です
プロファイラの項目GPUTimeを見ると全体で3000くらいなのですが、
プログラム中で cutCreateTimer( &timer) を使って計測すると 18ms〜60msのバラけた値が出ます
これってどちらが正しい値なのでしょうか?

788 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:31:07 ]
>>781
バイナリのCUDA SDK1.1だからだろ

789 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:02:02 ]
>>787
cutCreateTimer()の実装を見てみた?

790 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 19:00:37 ]
Fixtarsの資料面白いね、祝日に更新ご苦労さんだわ
この調子で本家資料全部訳してくれないかなw
ttp://gpu.fixstars.com/index.php/CUDA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0TIPS




791 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 08:05:55 ]
2.3来たね、やっと64bit版で32bitコンパイルできるようになった

792 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 13:44:49 ]
Mac版の2.3.0ドライバーインストールしてみたら、一回目libcuda.dylibだけ入らなかったことに気付かなくて、全然見当違いの所で原因探してて苦労したよ。
一発で入るようにしてください、nVidia様


793 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 22:10:54 ]
ttp://www.nv-info.com/cuda_for_highschool/

20年前の高校生は参加しちゃダメかな?

794 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 22:13:36 ]
Teslaプレゼントしろよ
相変わらず一貫してないな

795 名前:デフォルトの名無しさん [2009/07/26(日) 23:27:14 ]
CUDAで動くトリップ検索ツール頂ける方いらっしゃいませんか

796 名前:デフォルトの名無しさん [2009/07/27(月) 00:50:11 ]
ノシ

797 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 03:25:45 ]
【レポート】中高生がCUDAにチャレンジ! NVIDIAがGPUコンピューティングの体験イベント開催 | パソコン | マイコミジャーナル
journal.mycom.co.jp/articles/2009/07/27/cuda/index.html

798 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 10:10:10 ]
>>795
あれ?まだ誰も作ってなかったの?

799 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 10:43:20 ]
あと6年早ければ・・・

800 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 11:08:28 ]
>>798
らしいです



801 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:53:08 ]
じゃぁ俺が作るか。
まずはCUDA無いバージョンのソースがあるURL教えてw

802 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 00:02:52 ]
まあ、待て屋。

803 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 00:07:41 ]
>>802
それはラデ用のしかなかったような…

804 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 00:11:46 ]
CUDA無しを所望のようだからこれで良くね?
CPU用のコードも当然あるよ。

805 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 00:17:31 ]
>>804
nVIDIAのVGAしか持ってないんだorz

806 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 00:22:33 ]
>>805>>795か?
俺は>>801に向けて書いたんだが・・・

807 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 00:26:42 ]
>>806
あ、はい。
俺は>>805であり、>>795です。

ID出てないと面倒だね

808 名前: ◆hEpdoZ.tHU mailto:sage [2009/07/28(火) 06:51:10 ]
>>807
トリップ使ってけれw

809 名前: ◆DokuomoeW. mailto:sage [2009/07/28(火) 16:50:48 ]
>>808
おk

>>807です

810 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/07/29(水) 21:19:39 ]
Larrabee向けのソースコードなら多分あるんだがwwwww



811 名前: ◆DokuomoeW. mailto:sage [2009/07/30(木) 12:59:13 ]
まだ手元にある定額給付金で
ラデ買ってくるかな…

それも一つの選択肢

812 名前: ◆DokuomoeW. mailto:sage [2009/07/31(金) 21:10:00 ]
かつてTripcode ExplorerのCUDA版があったらしいね
でも、今はもう消えてる…

813 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/07/31(金) 21:52:43 ]
ギコハハハ

814 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:14:27 ]
>>812
がはは!それはネタだからーw

815 名前: ◆DokuomoeW. mailto:sage [2009/07/31(金) 23:11:08 ]
>>814
そうなんだwwwwww

816 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/07/31(金) 23:31:10 ]
ふふふ

817 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 05:48:13 ]
あらあらふふふ

818 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 07:37:39 ]
これでいいじゃん
tmkk.hp.infoseek.co.jp/tripper/

819 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 20:49:45 ]
300Wも消費する物体を数週間動かすとは恐ろしいw

820 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 07:25:23 ]
shared memoryって,CPUで言うL1キャッシュみたいなもん??



821 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 08:04:31 ]
>>818
これって使うとどれくらい寿命減るの?
作った人って絶対に高負荷かけて石を壊そうとしてるよね・・・

822 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 15:36:31 ]
>>821
なにいってるの・・・
まあたしかにファンがクソだと熱で死ぬ可能性はあるが

823 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 03:54:01 ]
>>820
大分違う。つーか、CPUとは考え方を変えないと使いこなせないよ。

824 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 10:08:33 ]
>>820
CPUで言うレジストリみたいなもんだ

825 名前: ◆DokuomoeW. mailto:sage [2009/08/04(火) 13:52:22 ]
>>818
for Macだ…と

826 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/08/04(火) 21:07:21 ]
Windows用に直せるだろこんなん。(と言ってやらない)


827 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/08/04(火) 22:06:06 ]
Vistaだと困ったことに、描画に支障ない程度に負荷調整しないとAeroが死ぬwww


828 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 22:45:00 ]
だれかトリップ生成のアルゴリズム説明して?
趣味でCUDA処理のコード書いてみたいからー

>>818のコード読めって話だけど、ハッシュとか暗号系はアルゴリズム知ってないと、時間かかるんでお願いします。

829 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 23:22:43 ]
309 名前:◆cZfSunOs.U []: 2009/06/19(金) 11:46:10 ID:MLNb4KfK0 (17)
生キー指定以外の12桁以上「##〜」形式も将来の拡張用にしておきましょう.
で,まとめ:

if (length $handle_pass >= 12)
{
my $mark = substr($handle_pass, 0, 1);
if ($mark eq '#' || $mark eq '$')
{
if ($handle_pass =~ m|^#([[:xdigit:]]{16})([./0-9A-Za-z]{0,2})$|)
{
$GB->{TRIPSTRING} = substr(crypt(pack('H*', $1), "$2.."), -10);
}
else
{
# 将来の拡張用
$GB->{TRIPSTRING} = '???';
}
}
else
{
use Digest::SHA1 qw(sha1_base64);
$GB->{TRIPSTRING} = substr(sha1_base64($handle_pass), 0, 12);
$GB->{TRIPSTRING} =~ tr/+/./;
}
}
else
{
# 従来形式
}

830 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 23:23:28 ]
インデント消えたorz



831 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 23:25:49 ]
Kernel用のCRYPTを自前実装しないといけないのか・・

832 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/08/09(日) 00:05:13 ]
C++用のコード晒してみる。これは実際に某ツールで使ってる。

char* trip_sha1(const char* key) {
SHA1Context sha1;
SHA1Reset(&sha1);
SHA1Input(&sha1, reinterpret_cast<const uint8_t*>(key), std::strlen(key));
uint8_t digest[SHA1HashSize];
SHA1Result(&sha1, digest);

static char cryptresult[13]; /* encrypted result */
static const char base64mod[] = /* 0..63 => ascii-64 */
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./";
cryptresult[0] = base64mod[digest[0] >> 2];
cryptresult[1] = base64mod[(digest[0] << 4 | digest[1] >> 4) & 0x3F];
cryptresult[2] = base64mod[(digest[1] << 2 | digest[2] >> 6) & 0x3F];
cryptresult[3] = base64mod[digest[2] & 0x3F];
cryptresult[4] = base64mod[digest[3] >> 2];
cryptresult[5] = base64mod[(digest[3] << 4 | digest[4] >> 4) & 0x3F];
cryptresult[6] = base64mod[(digest[4] << 2 | digest[5] >> 6) & 0x3F];
cryptresult[7] = base64mod[digest[5] & 0x3F];
cryptresult[8] = base64mod[digest[6] >> 2];
cryptresult[9] = base64mod[(digest[6] << 4 | digest[7] >> 4) & 0x3F];
cryptresult[10] = base64mod[(digest[7] << 2 | digest[8] >> 6) & 0x3F];
cryptresult[11] = base64mod[digest[8] & 0x3F];
cryptresult[12] = 0;
return cryptresult;
}

833 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 00:36:34 ]
sh1のCUDA版くらいありそうだけど

834 名前:828 mailto:sage [2009/08/09(日) 00:38:07 ]
ご両人、コードさんくす〜
実はC住人なんで(汗

蛇足だが関数内のstaticの使い方が気持ち悪いです(笑

さー昔しらべたSHA-1の資料でもひっぱってくるかー

835 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/08/09(日) 01:53:23 ]
オリジナルのcrypt(3)でもchar配列はstaticでとってるんだよな
たしかにキモイ

std::stringとか使ってみ?
CUDAに移植できへんで?


836 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 01:56:33 ]
笑えるくらいきれいなワンツーw

837 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 01:57:37 ]
ごば

838 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 13:04:04 ]
CUDAでrandは使えない?

839 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 13:11:14 ]
>>838
使えないよ。自分で用意しないと。

840 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 13:25:21 ]
CUDA上でのSHA1の実装というとこのあたりか?
forums.nvidia.com/index.php?showtopic=102349



841 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 22:49:48 ]
r0,g0,b0,r1,g1,b1,r2,....

というようなグローバルメモリにあるchar型の配列に対して、GPU側からuchar4型変数で

{r0,g0,b0,r1} {r1,g1,b1,r2},....

というようにアクセスすることは可能でしょうか?

842 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 01:04:40 ]
y*4+x

843 名前:841 mailto:sage [2009/08/11(火) 01:59:08 ]
あーこれじゃ駄目だった
ごめんなさい、忘れてください

844 名前:828 ◆TripEQ.VNLIV mailto:sage [2009/08/11(火) 21:13:55 ]
だめだー
SHA1と総当り攻撃じゃ現実的じゃない。。。
4桁適合ならまだ使える感じorz

845 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:47:21 ]
誰かRADEON HD48xx向けのCUDAドライバ開発してないの?

846 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 14:23:41 ]
>>845
どちらかというと
AMD Accelerated Video Transcoding(AVT)

では?

847 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 16:05:07 ]
いや、CUDA互換機能つけて
CUDA対応ソフトを使えるようにならんかなーと。


848 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 17:49:44 ]
>>847
OpenCLじゃだめですか?

849 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 17:50:52 ]
ラッパー作ってくれるならいいけど・・・
既存のソフトでCUDAにしか対応してないやつとか
CUDA以外の開発環境が整わなさすぎて、見切り発車でCUDA使いたいなとか
あるんで。

850 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 18:44:14 ]
CUDAってOpenCL取り込んでたような……気のせい?



851 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/08/21(金) 20:13:56 ]
CUDAは環境。

OpenCLは言語・フレームワークで、CUDA向けのプログラムを記述出来る物のひとつ。
従来の「CUDA言語」は "C for CUDA" という扱いになった。


852 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 20:36:51 ]
x64でCUDAをしようと思ったんだけど,vitual studioでプロジェクトが作れない.
CUDA_VS_Wizard_W64.2.0を入れて,
CUDA64WinAppはテンプレートとして表示されるようになったが,
選択してもうまく生成されない.
CUDAWinApp(32bit)の方はうまく生成される.

64bitで開発してる方や,
症状の原因がわかりそうな方,ご教授願う.


853 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 21:00:40 ]
おっと,自己解決.
スレ汚しスマソ.

854 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 23:07:09 ]
>>853
いや、教えてよ(笑)

855 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 20:28:04 ]
共有メモリのBank Conflictがいまいちわからないのですが、
同じ配列のアドレス(添え字)に複数のスレッドが同時にアクセスしなければいよいのでしょうか?

856 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 07:21:12 ]
最近のマザボってPCIEx16が普通に2,3個あるよな
ところで違う世代のGeForce9800、GTX280とかを積んだ場合
CUDAはどちらのGPUも使ってくれるの?

857 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 09:24:02 ]
>>856
CUDAはGPUチップを一つだけしか使えない。
どれを使うかは、cudaSetDevice()で指定しないといけない。
サンプルの、MultiGPUを参照のこと。

858 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:32:52 ]
ということは,
最近のグラボ一枚にGPUが2つ積んであるヤツでも,
GPUを指定してやらないといけないのか.


859 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:39:49 ]
そそ、しかも1スレッド1GPUに拘束される。

860 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 19:17:17 ]
>>858
未確認だけど、SLIの場合はドライバで1つのGPUに見せかけるらしい。
2チップを積んでいるカードは内部でSLI接続されているらしいし、
1デバイスの場合と同じでもいいかもしれない。



861 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 23:51:13 ]
SLIとCUDAは同時使用できないとかじゃないのか?

862 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 00:10:58 ]
forum.nvidia.co.jp/EokpControl?&tid=11178&event=HE0004
* SLIグループ内の各GPUは個別に列挙されるようになったため、
計算アプリケーションはSLIがグラフィックス向けに有効になっている
場合でも、マルチGPUの性能を活用することができます。

と、リリースノートにはあるね

863 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 00:25:41 ]
>>862
2.3からはSLIの場合でもCUDAからは個別に見えるように変更なのか。

SLIでゲームの中でPhysXとかCUDAを使う場合とかは特定のチップに負荷が集中して
そのせいで利用効率が落ちたりしないのかな?

864 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 01:23:53 ]
プログラマが生理整頓するか,
CUDAさんよろしくお願いしますするか,どっちがいいかってことか.
でも,一度の演算に対して,1コアにスレッドが重複しない限りは,
無駄に複数のGPUに処理を分配する必要性はないよな.
演算の命令ごとにGPUを切り替えるなら,効果はありか.
SLIの場合って,GPUのRAMは共有されるのか?

>>859
GPUはGPU内の大量のコアがそれぞれ1スレッドずつ受け取る仕組みじゃないのか?
1スレッド1GPUって並列演算ってレベルじゃねーぞ.

865 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 03:53:53 ]
>>864
「スレッドを受け取る」っていう意味がわからんのだが。
CPUの1スレッドがGPU1個使って、そのGPUが複数スレッドを実行する。

866 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 04:59:54 ]
>>865
CPUのスレッドなのね.
スレッドのことをGPUのハードウェアスレッドかと勘違いしてた・・・orz


867 名前:デフォルトの名無しさん [2009/09/01(火) 18:44:53 ]
CUDAがでてきた2005年当時は、シングルコアの限界も見えてきて、それなら

有り余るグラフィックボードの性能を、3Dレンダリングや、フォトショップフィルタなど、ゲーム以外にも有効活用と歌ってたけど

あれよあれよという間に、インテルCPUがマルチコア化してきて、そっちの方が上記の用途に、大きな効果があり、メインになってきて、

結局グラフィックボードは、結局またGPUはゲーム以外に用なしになったなw

868 名前:デフォルトの名無しさん [2009/09/01(火) 19:21:06 ]
U-BASICってバージョンアップしないの?

869 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 19:38:01 ]
>>867
コンシューマーはそうかもしれんけど、エンタープライズはまた少し違うんじゃない?じゃなきゃNVIDIAもTESLAなんて作らんよ。

870 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 20:10:53 ]
ああシールの貼り替えで10倍の金を取るために始めたアレか



871 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:00:56 ]
>>870
本気でそう思ってるなら偏狭すぎる。少しは頭使えよ

872 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:04:27 ]
>>869
むしろ、nVIDIAはTESLA以外作りようが無かったんでしょ。
だってCPU作れないんだもん。

873 名前:デフォルトの名無しさん [2009/09/02(水) 02:29:04 ]
NVIDIA は、2009年8月17日、業界標準の線形代数ライブラリ、LAPACK を、超並列処理の NVIDIA CUDA 対応 GPU に最適化した実装「CULA」のベータ版が EM Photonics 社からリリースされたと発表した。
LAPACK ルーチンは何百万人もの開発者が活用し、数値物理学、構造力学、電子設計オートメーションなどさまざまな問題の解決に役立てられている。
CULA により、ワークステーションやデータセンターで使われている NVIDIA Tesla GPU の力を活用し、クアッドコア CPU 1個の場合でパフォーマンスを最大10倍に引き上げることが可能になるとされる。
EM Photonics には、CULA Basic、CULA Premium、CULA Commercial からなる CULA tools という製品ファミリがある。CULA ライブラリとは、LAPACK ルーチンの実装の1つで、GPU の能力を活用して高速に処理が行えるようにしたもの。
LAPACK というのは線形代数でよく使われる関数の集合体で、科学分野や工学分野で活用されている。科学分野や工学分野の問題は線形モデルで近似できることが多いため、線形代数ルーチンで解が得られる。
CULA は、NVIDIA GPU が持つ超並列 CUDA アーキテクチャを活用し、LAPACK ルーチンの多くを高速で処理できる。

874 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 08:05:49 ]
>>872
それ以外作りようがなかったからって…事前事業でやってるんじゃないんだぞ?「しょうがなくTESLA作る」とかありえないんだよ。純粋に、戦略的なマーケティングの結果だろ。

875 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 08:10:12 ]
>>874
× 事前
◯ 慈善

876 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 09:31:55 ]
戦略的なマーケティングの結果、マザボは作れてもCPUは作れないNVIDIAは仕方なしに、
TESLAをでっち上げたわけですね、判ります。

877 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 12:41:59 ]
CPUは作れないってどういう意味で言ってるんだろ
x86互換プロセッサなんて作れるところはいくらでもある
ただライセンスの問題なダケ
あとはマーケットな

878 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 12:46:20 ]
x86互換プロセッサぐらいなら大学の授業でFPGAに実装したことあるぞ

879 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 12:51:56 ]
互換なんてダレでも作れるべ
性能はムリだが

880 名前:デフォルトの名無しさん mailto:age [2009/09/02(水) 12:58:32 ]
DXCSがくるからCUDAはもういらないかもー



881 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 12:59:56 ]
作るだけならVIAにだってできる

882 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:07:09 ]
↑↑お前出来ないだろw

883 名前:408 mailto:sage [2009/09/02(水) 14:49:32 ]
NVIDIAってCUDA捨てたん?
ここ1年ぐらい見る限りすげーやる気なさそうなんだけど。


884 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 15:18:52 ]
捨ててないけどやることないだけだろ

885 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 17:51:42 ]
今はOptiXに期待

886 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 18:43:14 ]
news.developer.nvidia.com/2009/08/nexus-visualstudio-based-gpu-development.html

おまいら,
9月30日以降に期待ですよ.

887 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:10:27 ]
CUDAで最適化したいプログラムに条件分岐満載で
実際の演算部分がほとんどなくてDate並列化できそうもないときって
あきらめるしかないのかな・・・。

888 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/09/02(水) 22:49:22 ]
www.atmarkit.co.jp/fcoding/articles/parallel/03/para03a.html

Fixstarsのエンジニアからの有り難い言葉

889 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 23:43:18 ]
条件分岐でシーケンスを発生させる事そのものが目的でなけりゃ、
何か手はあるんでないの?
何しようとしてるか知らんけど、今使ってるアルゴリズムに以外に
GPU向きの手がないか調べてみたらいいんでない?

890 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:42:37 ]
やっぱりx86コアが100個も200個もあるほうがいいんじゃね?



891 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 17:29:08 ]
>>889
なるほど
もっとソースを読んで見るよ。

あとCUDAについてのオススメの文献あるかな?

892 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:47:44 ]
>>891
GPU Gems3。訳本はアホみたいに高いが、英語でよければネットで公開されてる。途中までだけど。

893 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:52:19 ]
>>890
そりゃそうかもしれんが、コスト見合わんだろ。

894 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/09/03(木) 22:31:48 ]
x86のほうが性能マシな演算用途こそ、GPUが何百台あってもコスト的に見合わないんじゃないかと

895 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:43:05 ]
>>892
thx
でかい書店いって立ち読みして検討するかな。

>>894
そうとも限らない。
32bit単精度浮動小数点を扱えるプロセッサが数百個あるわけで、
プログラムの仕方によっては高速化する。
まあ向き不向きがあるのは事実だし、どっちが良いとは決め付けられない。

896 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/09/03(木) 22:47:43 ]
向き不向きでいえばGPUに向いてない(というか使うことすらできない)演算の方が圧倒的に多い。


897 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:37:54 ]
円周率の計算とかに使えればいいじゃん。

898 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/09/04(金) 02:08:24 ]
なにそれ誰が得するの?



899 名前:デフォルトの名無しさん [2009/09/04(金) 02:10:35 ]
円周率を100万桁まで暗記してる人が、あれ?次なんだったっけって言って調べられる

900 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 05:48:21 ]
GPUが今後発展するなら、GPUに向いたアルゴリズムが開発されてくるでしょう。
でも、普通のCPUが高速化してくるので、結局特定の分野しか使えないのかもね。まさにハードウェアアクセラレータ。



901 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:30:49 ]
全く依存性がなく並列に計算できるものに向いてるんだっけ?
あんまり計算用途には向いてない気もするんだけど。

902 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:05:27 ]
実際高速化されてるものもあるんだし、得している奴はいるだろ

903 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:31:22 ]
粒子法では,GPUかなり美味しいです^^


904 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:34:46 ]
画像や文字のパターンマッチングにもそれなりに使えるよ。



905 名前: ◆TripEQ.VNLIV mailto:sage [2009/09/04(金) 21:24:41 ]
実は一般ユーザーが恩恵を受ける事はほとんどない事実。。。

906 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:19:54 ]
ATI臭くなってきたぞ,このスレ

907 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:41:57 ]
ATIのGPUでCUDAが使えるならともかく使えないのに、
なぜかCUDAスレでATIの話題がされる不思議。


908 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 04:37:45 ]
ATOM330搭載PCでCUDAなグラボを付けたら幸せになりますか?


909 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 05:32:50 ]
>>908
気持ち次第です。

910 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 07:55:02 ]
NVIDIAへの財務次第です



911 名前:408 mailto:sage [2009/09/05(土) 09:50:44 ]
あきらかに落ち目でしょNVIDIA






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<215KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef