【GPGPU】くだすれCUDAスレ【NVIDIA】at TECH
【GPGPU】くだすれCUDAスレ【NVIDIA】 - 暇つぶし2ch112:デフォルトの名無しさん
08/07/15 08:45:54
>>111
どんな数字を入れるとどんな結果になるか、Excelでも使って計算してみたら?
0x3f使うのは64の倍数にするためでしょ。

113:デフォルトの名無しさん
08/07/15 16:57:48
>>112
うーんそのなんで64にするのかがわからないのよ

関係ないかもしれんがシェアードメモリを使ってないSobelFIilterも
SobelTex<<ih, 384>>>でなぜ384かわからないお
こっちは1行1グリッドにして、1スレッド1ピクセルなんだと思うが
なんでスレッド数を画像の横幅iwにしないで384にするんだぁ
スレッド数が384だと計算が速い理由でもあるのかお!

114:デフォルトの名無しさん
08/07/16 00:40:50
単純に、warp数の適当な倍数になるからってだけじゃなかろか。

115:デフォルトの名無しさん
08/07/16 18:09:02
GPUコードではmemcpyは使えないの?

116:デフォルトの名無しさん
08/07/16 21:23:53
>>115
デバイス側で、デバイス間のコピーをしたいってことなら、自前で書くしかないんじゃないかな。
でも多分、そこがボトルネックになると思う。

117:デフォルトの名無しさん
08/07/16 21:43:54
global memoryからshared memoryへのコピーの時間と
shared memoryからglobal memoryへのコピーの時間が
異なるのは何でなんだぜ?
よく分からない…

118:デフォルトの名無しさん
08/07/16 21:47:14
>>117
グローバルメモリへの書き込みはcoalscedでも遅いと思う。
そうでないなら、ptxファイル見てみないとなんとも。
プロファイラを使うともう少し様子が掴めるかも知れない。

そだ、プロファイラの使い方って、日本語で書かれたものがWeb上で見つからないんだよね。
誰か、まとめてない?

119:デフォルトの名無しさん
08/07/16 23:29:54
>>113
指定できるスレッド数の上限は合計512までだからだろ
もしくは、スレッド数を多くすると使用するレジスタ数がパンクするから


120:デフォルトの名無しさん
08/07/17 00:02:48
>>115
自前で作成したmemcpy関数(サンプル付き)
記憶で書いているのでデバッグは自分でよろしく
注意:sizeは4の倍数のみ

__device__ void memcpy1D(long* p_dst , const long* p_src , unsigned int size)
{
const long* p_end = p_src + (size >> 2);

p_src += threadIdx.x;
p_dst += threadIdx.x;

while (p_src < p_end)
{
*p_dst = *p_src;

p_src += blockDim.x;
p_dst += blockDim.x;
}
}

__device__ structHogeHoge g_data;

__global__ void sample(void)
{
__shared__ structHogeHoge s_data;

memcpy1D((long*)&s_data , (long*)&g_data , sizeof(s_data));
__syncthreads();
}


121:デフォルトの名無しさん
08/07/17 15:32:10
NVIDIAのサイトから、lameをCUDA化したサンプルコードをダウンロードして、コンパイルしてみたのだけど、
かえって遅くなるのだけど、速くなった人いる?
CPUはAthlon2.0GHzでGPUは8800GTXです。
コンパイルはサイトの指示通り、USE_GPU_HPFを有効にしてかつ、そのCPUパートはコメントアウトして実行しないようにしています。

122:デフォルトの名無しさん
08/07/17 15:37:52
>>121
nVidia「全然速くならないから誰か代わりにやってくれ。速くても賞金出すのは北米在住者のみな^^」
というコンテストだから当然

来週締切なのに今のところまともに投稿してるのが1チームという惨状

123:121
08/07/17 16:05:38
賞金はともかく、NVIDIAの書いたコードだから、勉強になると思ったのですが

124:デフォルトの名無しさん
08/07/17 16:14:53
>>123
甘いな。ハードの設計している連中とドライバを作っている連中と
CUDAを作っている連中とそれの応用を作っている連中が勝手にやっているのがNVIDIAだ。

125:デフォルトの名無しさん
08/07/22 17:35:55
URLリンク(3.14.by)
URLリンク(forum.insidepro.com)

URLリンク(www.insidepro.com)

MD5 Crack on CUDA で腕試しが流行っているみたいだよ。
日本も頑張らなきゃ。





126:デフォルトの名無しさん
08/07/23 00:13:58
だれかフォートラン仕様にしてくれ

127:デフォルトの名無しさん
08/07/23 13:37:55
>>122
2チーム目が来たね
2倍ちょっとって、これならquad core使った方がよくね?

128:デフォルトの名無しさん
08/07/23 16:41:58
GTX280でCUDAすると素人考えで単純にSP数増えてる分だけ
速くなりそうな気がしてしまうんだが実際はどーなの?
Warpとかいろいろ考えることもありそうなんだけど。。。

129:125
08/07/23 19:13:07
>>127

英語読めていないよ。こんな簡単な読みも出来ないとなると
本当に困る。

Teamの人数が2人だよ。
登録が200を超え、提出者が20組 トップは6回目のUploadだ。
提出者が20組だから結構な盛況だと考えるよ。


130:デフォルトの名無しさん
08/07/24 00:13:47
NVIDIA、GPGPUに関する説明会を開催 - 今年中のFortranのサポートを計画 (2) CUDA2.0正式版は近日中にリリース予定
URLリンク(journal.mycom.co.jp)

2.0とマルチCPUサポートはそろそろ、マルチGPU・多言語・デバッガ・プロファイラサポートは多分おそらくきっとそのうちだってさ



131:デフォルトの名無しさん
08/07/24 02:24:04
cudaを覚えはじめるのにぴったりな本ないかなぁ?

132:デフォルトの名無しさん
08/07/24 11:03:32
CUDAに特化した本は未だないだろ。

133:デフォルトの名無しさん
08/07/24 12:24:23
>>131
本家プログラミングガイド
変な日本語訳のプログラミングガイドもある。

134:デフォルトの名無しさん
08/07/24 16:45:20
>>132
出たら買うから 出してw

135:デフォルトの名無しさん
08/07/24 17:17:55
じゃ、書くからNVIDIAと出版社相手の交渉は任せた。

136:デフォルトの名無しさん
08/07/24 22:53:31
何か並列処理の本のおまけみたいな形じゃないと
正直売れないだろうなぁ

137:デフォルトの名無しさん
08/07/26 17:15:12
>>135
たぶん、猫でもできる・・・・とかと同じように、HPたててそこで解説したら出版社から来ると思う。
わざわざHPスペース借りてーとかでなくても、WIKIでもいいと思われ。
交渉とかは向こうが書いてくれっていうだけだと思う基本的に。
んで、ワードなり、一太郎なりで原稿書けばOKじゃね?
画面キャプチャなどの画像は、まとめて管理したほうがいいぽいよ。
なんか、ワードとかで埋め込んじゃったりすると、逆に手間かかるらしい。

138:デフォルトの名無しさん
08/07/28 09:38:41
NVIDIAの日本語サイトがようやく
更新されたw

139:デフォルトの名無しさん
08/07/28 11:32:06
gpuはcpuより劇早なんだから
使いたいよねえ

パスワード解析とかにも使えそう

140:,,・´∀`・,,)っ
08/07/28 11:37:29
速くねーよ。

CPUをセダンに例えるならGPUは貨物車だな。
荷物を大量に扱う場合だけは効率がいい。

141:,,・´∀`・,,)っ
08/07/28 11:49:02
それはそうとパスワードクラックなんて浮動小数演算能力が全く役に立たないものの代表格だな。

142:デフォルトの名無しさん
08/07/28 12:08:10
そうだね
並列処理すればいいじゃない?

143:デフォルトの名無しさん
08/07/28 17:46:54
そういや去年CUDA使ってそんなソフトが出てたな

144:デフォルトの名無しさん
08/07/28 19:41:23
>>141
MD5はやっていますが?
他に現在手に入るクラック専用マシンでCUDA以上のC/P
があればお話が成り立ちますがね。


145:,,・´∀`・,,)っ
08/07/28 20:22:47
>>144
それやってるのは整数論理算術演算じゃん
乗算すら浮動小数じゃないよ。


つーかMD5なんてすでにハッシュアルゴリズムとしては死んでるんだが。
ワンタイムパスワードとしてならまだまだ現役でやれるだろうけど
性質上瞬時にクラックできないとクラックの意味もなくなる。


ああFPGA焼いた方がいいんじゃない?

今各社が力入れてるのはAESなどの128ビットブロック暗号だな。

146:,,・´∀`・,,)っ
08/07/28 20:35:07
つーか個人でGPUで遊ぶ分にはアリかもしれんけど
でかいシステム組めるTeslaになると別に高CPでもなんでもないんだよね。
特に整数性能に関してはPS3でクラスタくんだ方がまだ良いくらい。

GTX280含め現行GPUの整数性能はまだまだ残念な印象。

147:デフォルトの名無しさん
08/07/28 20:44:09
パスワードクラックほどの極小のプログラムでも
Xeon>PS3だって自分のページで言ってなかったっけ?

148:,,・´∀`・,,)っ
08/07/28 21:02:00
暗号関連ならCellはAESみたいなブロック暗号はそれなりに速いよ。
例のvpermもどき命令で1コア16並列でエンコード/デコードできるからね。
ただAESアクセラレーションはWestmereでの強化点にもなるのでこの先はわからん。


まあいずれにしてもCUDAはいろいろ残念だな。
ATiとのGPUシェア争い無視してでも汎用性能をとるか来たるLarrabeeとガチるかの瀬戸際だし。

149:デフォルトの名無しさん
08/07/29 09:58:39
>性質上瞬時にクラックできないとクラックの意味もなくなる。
笑った。連れの言い分と全く一緒だからな。
流れているデータをリアルタイムで解読できなければ暗号解読ではない
というような考え。ある意味では正しいが、ネットのデータは記録可能
という点を考慮していないし大穴になる。

AESアクセラレーションハもう6年も前にある技術だし今さら。

しかし認証段階で破られたらAESは即死に体だよ。実際解読ソフト
使っているのでww


150:デフォルトの名無しさん
08/07/29 12:28:50
別にCUDAは整数性能ウリにしてないし
このスレってムチャを前提にケチつけてるだけで結局何も出来ない無能者の集いだな・・・

151:デフォルトの名無しさん
08/07/29 12:59:27
並列演算の応用として暗号解読の話題を語ってるだけだと思うんだが・・・

152:デフォルトの名無しさん
08/07/29 13:50:22
>>151
それがわかってないといわれてる原因なんでしょ…

153:デフォルトの名無しさん
08/07/30 12:07:16
そうなんだ

154:デフォルトの名無しさん
08/08/04 01:58:13
 弱点だった倍精度もGTX280で改良された。しかし何かイマイチなんだよなぁ。
消費電力あたりの性能がたいした事ないからかなぁ

155:通りすがり
08/08/07 11:07:41
CUDAでレイトレーシングがいました。 CPUの15倍パフォーマンスが出ているようです。
URLリンク(noridon.seesaa.net)


156:デフォルトの名無しさん
08/08/07 13:30:10
SSEも使ってない2コアの速度と比べて15倍じゃ今一かも

157:デフォルトの名無しさん
08/08/07 16:48:46
URLリンク(www.nicovideo.jp)
URLリンク(www.nicovideo.jp)
レイトレーシング

158:デフォルトの名無しさん
08/08/07 20:25:59
>>154
このスレ的には正常進化じゃね?

159:デフォルトの名無しさん
08/08/08 01:46:07
だれか4850にCUDA載せてくれ

160:デフォルトの名無しさん
08/08/08 14:04:29
Core2Duo(3GHz)×2 = 最大 1.89FPS
CUDA(GTX 280) = 最大52.48FPS

27.7倍高速出ているようです。

URLリンク(noridon.seesaa.net)

161:デフォルトの名無しさん
08/08/08 14:36:26
それatiのgpuじゃ実行できないよね?

162:デフォルトの名無しさん
08/08/08 18:06:10
CUDAですから

OpenCLはCUDAを採用したと聞いたが…本当なん?

163:デフォルトの名無しさん
08/08/08 18:18:50
OpenCommonLisp

164:デフォルトの名無しさん
08/08/08 20:41:23
4 x 2.5 GHz の 3 fps と比べても 17倍
これは大したものだ

165:デフォルトの名無しさん
08/08/09 00:50:56
IntelC++ と比べてどうなんかな?

166:デフォルトの名無しさん
08/08/09 07:05:08
うごかねえw

167:デフォルトの名無しさん
08/08/09 16:57:34
>>162
んなわけない
既にMacOSXにもCUDAがあるのにわざわざ10.6でOpenCL採用を謳うかよw

168:デフォルトの名無しさん
08/08/09 22:58:33
インテルは0からスタートするわけだからどのぐらいの速度でIntel製GPU普及するのかは見ものだね。 NVDIAのGPUはすでにゲームやCAD、3Dグラフィックの用途にすでにかなり普及しているからね。今後はAMDやIntelのQuadcore CPUでCUDAが使えるようになるしね。

169:デフォルトの名無しさん
08/08/09 23:11:40
SPがPentium-Mベースだから割と簡単に追いつけるんじゃない?

170:デフォルトの名無しさん
08/08/11 09:30:11
>>168
そのとおりだけど、intelには事実上CPUと抱き合わせ、という裏技があるからなあ。
今回はかなり本気っぽいし、微妙かも。

171:デフォルトの名無しさん
08/08/11 13:44:37
質問です。

libshをコンパイルしようとしたら以下のようなエラーが出ました。
何が足りないのでしょうか?

ShSwizzleImpl.hpp: In member function 'void SH::ShSwizzle::copy(const SH::ShSwizzle&, bool)':
ShSwizzleImpl.hpp:191: error: 'memcpy' was not declared in this scope
ShSwizzleImpl.hpp: In member function 'bool SH::ShSwizzle::operator==(const SH::ShSwizzle&) const':
ShSwizzleImpl.hpp:251: error: 'memcmp' was not declared in this scope

172:デフォルトの名無しさん
08/08/11 14:36:44
アハハ

173:デフォルトの名無しさん
08/08/11 17:33:27
夏だな

174:デフォルトの名無しさん
08/08/11 18:07:18
俺は夏かどうか確認するために書き込んだわけではありません。
馬鹿正直にくだらない質問に答えてくれる人を待っているだけですよ。
質問に答える気がない人間は不要。
スレ違いだと言わざるを得ませんね。

175:デフォルトの名無しさん
08/08/11 20:14:53
夏だね

176:デフォルトの名無しさん
08/08/11 21:15:36
そんな失礼な態度のヤシに親切に答えてくれる人がどれだけいるか
待ってるより自分の頭で英語の意味を理解した方がずっと早いと思うがw


>error: 'memcpy' was not declared in this scope
>error: 'memcmp' was not declared in this scope
普通の頭の持ち主なら必要なincludeファイルがincludeされてないと解釈するだろうな

177:デフォルトの名無しさん
08/08/11 21:22:37
>>176
一つ言わせてもらう。

お前らに 「聞いてやってる」 んだよ。

聞いてほしくてたまらないんだろ?ニートで暇だから。
お前らが答えないなら別のやつに聞くだけ。
聞く相手はいくらでもいるんだよ。

178:デフォルトの名無しさん
08/08/11 21:35:15
>>176
ああ、ちなみにもう解決したから。自力で。
お前らみたいに大した知識もないくせにもったいぶった無能に聞いたのが間違いだったな。

ちなみに、ソースに手を加えずに解決した。
解決方法なんて書かないよ。
同じ問題に出会ったやつは ググレカスw

179:デフォルトの名無しさん
08/08/11 23:04:59
>>178
で、どこがCUDAに関係してたの?

180:デフォルトの名無しさん
08/08/11 23:42:51
凄いのが来たなぁ
釣りであると信じたいが天然厨房っぽいな

181:デフォルトの名無しさん
08/08/12 02:26:14
いや、質問主はまだ困ったままだろw
質問横取り煽り厨だろ

182:デフォルトの名無しさん
08/08/12 05:57:35
>>160
俺もやってみた
4コアCPUが必死に動いても8800GTに25倍くらいの差付けられた
レンダリングの革命やでぇ~

183:デフォルトの名無しさん
08/08/12 06:15:06
GPGPUレンダはまだ無いから実用性のあるの早く作って売れば金になるんじゃね
今の外部レンダは綺麗だけど時間かかって静止画までしか実用性無いからな
お前らちゃんすだぞ
絶対金になるだろうから、多分作ってるところはもう取り組んでると思うけどね
ていうか俺が早く出してほしいんだよ

184:デフォルトの名無しさん
08/08/12 22:18:14
gemsもそうだが、なんでOpenGLやGPU関連の書籍というのべらぼうに高いんだ?

185:デフォルトの名無しさん
08/08/13 17:25:11
>>184
需要がない割りに書くのが大変だから。

186:デフォルトの名無しさん
08/08/13 17:32:40
OpenGLは需要あると思うが。

187:デフォルトの名無しさん
08/08/13 21:20:05
>>184
訳してる会社が(ry
「誰が買うんだこれ!?」って思う値段の本は大抵原著は安かったりする
酷いのは原著の2倍以上

188:デフォルトの名無しさん
08/08/14 00:20:49
OpenCLはIntel製GPUでも使えるのだろうか。

189:デフォルトの名無しさん
08/08/14 01:38:59
>>188
Larrabeeのこと?

190:デフォルトの名無しさん
08/08/14 02:57:25
>>188
使えるでしょ
自社が参加してるワーキンググループが発表するんだから

191:デフォルトの名無しさん
08/08/14 13:46:01
URLリンク(www.gpureview.com)
うーむ……

192:デフォルトの名無しさん
08/08/18 09:18:31
URLリンク(jp.youtube.com)
GeForceでスパコン終了
一時間が30秒に

193:デフォルトの名無しさん
08/08/18 10:23:41
ゲームをやってた助手が「あ、どうも」、わざとらしくてワラタw

194:デフォルトの名無しさん
08/08/19 14:09:07
こんちにわ。LinuxでCUDAのプログラムを作成している者です。
早速質問ですがMPIを用いて、複数のクラスタ(PC5台、そのうち1台が親機で4台が子機)で
CUDAプログラムの動作できた方はいませんでしょうか?
プログラムの内容として、子機で演算させ、親機では適当なメッセージを出すのみという、
並列演算とか関係なく、単にMPIでCUDAを動かすテストプログラムです。

下記のようなMakefileでコンパイルを行っています。
ROOTBINDIR = ./
ROOTDIR = /home/usr1/NFS/NVIDIA_CUDA_SDK/
# Add source files here
EXECUTABLE := mpicuda_matrixMul
# Cuda source files (compiled with cudacc)
CUFILES := mpicuda_matrixMul.cu
# C/C++ source files (compiled with gcc / c++)
CCFILES := \
matrixMul_gold.cpp

SMVERSIONFLAGS := -arch sm_11
############################################################
# Rules and targets
INCLUDES = -I/home/usr1/mpich-1.2.7p1/include -I/home/usr1/NFS/NVIDIA_CUDA_SDK/common/inc
USRLIB = -L/home/usr1/mpich-1.2.7p1/lib -L/home/usr1/NFS/NVIDIA_CUDA_SDK/lib -lmpich -lcutil
include ../../common/common.mk

195:194
08/08/19 14:09:55
続きです。
上記のようなMakefileをNVIDIAのCUDA関連のBBSで見つけたので参考に作成しました。
しかしコンパイル時に下記のようなエラーが出てきます、、

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

上記のエラー内容を調べたところ、libcutil.aというライブラリがリンクされていない、
という内容と思われるのですが、Makefileには正しい場所にリンクさせてあると考えています。
開発環境として、OSがはCentOS5、親機のGPUがGeForce7900、子機が8600です。
(親機でCUDAの演算は行わないので7900)

それでは、どなたかよろしくお願いします。


196:デフォルトの名無しさん
08/08/19 20:40:53
>>195
cutilはmakeした?
した積もりなら、ちゃんとライブラリファイルはできている?
OpenGLがインストールされていない環境だと、恐らく失敗している筈。
その場合、OpenGLをインストールするかOpenGL絡みのエラー修理辺りをコメントアウトすればmakeできるはず。

197:デフォルトの名無しさん
08/08/19 23:40:11
MPIでCUDAを試したことは無いけどGLUT,GREWがインストールしてないと
>>195のようなエラーが出たことがある

198:デフォルトの名無しさん
08/08/20 00:48:28
なあ、あのへんてこ日本語プログラミングガイドのリンクが消えているような気がするんだけど、
前からこんなんだっけ?

199:デフォルトの名無しさん
08/08/20 00:50:02
いいことだw

200:デフォルトの名無しさん
08/08/20 20:57:08
URLリンク(jp.youtube.com)
530万ドルのスーパーコンピュータ「CalcUA」で一時間
一台デスクトップPCで30秒

URLリンク(www.atmarkit.co.jp)
ベルギーのアントワープ大学では、それまで使っていたAMDベースの256ノードのクラスタサーバ「CalcUA」の性能を、8GPUを使ったデスクトップPCシステム「FASTRA」が上回った。「CalcUAは530万ドルのスーパーコンピュータ、FASTRAは7000ドルのデスクトップだ」(グプタ氏)。
NVIDIAによればGPUを使った同様のクラスタサーバは、NCSA、イリノイ大学、ノースカロライナ大学、マックスプランク研究所など、すでに十数の組織で使われているという。

201:194
08/08/21 15:43:36
>>196 さん 、>>197 さん
お返事ありがとうございます。
cutilのライブラリは確認済みです。CUDAインストール時に作成される、
~/NVIDIA_CUDA_SDK/lib の中にlibcutil.aがありました。

OpenGLは前からインストールしており、またそのプログラムは動くので、
GLUT等はインストールされているはずなのですが。。

202:デフォルトの名無しさん
08/08/22 00:33:34
/home/usr1/NFS/NVIDIA_CUDA_SDK/と~/NVIDIA_CUDA_SDK/libが違うって落ちじゃないよな。

203:デフォルトの名無しさん
08/08/22 01:02:50
自分からテスト専門です、って宣言してる派遣テスターって何なの?

将来プログラマとかSEになりたい、とかならわかるけど。
向上心ないよね、頑固だし。
そういう派遣テスターって、仕様書は読めない、
テスト仕様書も作れない、テストプログラムも作れない
やれることは「テキトーにプログラムを触る」ことだけ。

俺は派遣プだけどさ、こういう派遣テスターがいると
派遣全体がバカにされるんだよ。
テスト専門派遣なんて氏んで欲しいよ、まったく。

今日も正社員の人が派遣テスターに仕様書を読んで
テスト仕様書を作ってください、って説教してたよ。
その派遣は頑固に「何故、仕様書が必要なんですか?」って
反論してたから、きっとテスト専門派遣テスターだな。
仕様書も読まず、テスト仕様書も作らず、ただテキトーに
プログラム触るだけで給料もらおうなんて頭おかしいんじゃねーの?

あ~あ、あの派遣テスターが3ヵ月後に切られるまで、
仕様書も読まねーでテキトーにテストしたバグ票がまわってくんのかよ。
そんな糞なもん、読んで処理する派遣プの身にもなってくれよ。
うわ~、しかもそいつが切られる3ヵ月以内に中間納品あるじゃねーか!
テスト仕様書もなしにテキトーにテストして納品か。
中間納品後にソッコウクレームでデスマ必至だな。俺の休みも返上かよ。

派遣専門テスターさんよ、少しは向上心持てよ!
頑固な性格直して仕様書読めよ!テスト仕様書作れよ!


204:デフォルトの名無しさん
08/08/23 14:37:16
うちの客先はテスト専門部署があるけど
環境構築とかテストプログラム作ったり
海外のテスト専門会社へ行って研究したりしてるぞ

205:デフォルトの名無しさん
08/08/23 18:12:10
バカの作ったものをテストするなんて最悪な仕事の1つなんだぜ

206:デフォルトの名無しさん
08/08/23 18:24:28
以前入社してすぐやめた会社でテスターをやらされたが、
そこの会社、3Dの知識ないやつが、OpenGLで懸命に2Dの描画プログラム作ってた

まさにバカの作ったものでテストするのがバカらしくなって会社を辞めた

207:デフォルトの名無しさん
08/08/23 19:33:34
判ったからマ痛に行け。

208:デフォルトの名無しさん
08/08/23 19:54:30
>そこの会社、3Dの知識ないやつが、OpenGLで懸命に2Dの描画プログラム作ってた
こういうバカ、たまにいるよな
2Dだけ描画すればいい仕様なのにOpenGLしか知らないからとりあえずOpenGLで書いちゃうという
すぐに辞めさせないとプロジェクトが悲惨な結果になる

209:デフォルトの名無しさん
08/08/24 01:26:41
>>208
AutoCADは2DもOpenGLで描画していますが。

210:デフォルトの名無しさん
08/08/24 07:16:25
>>209
>207

211:デフォルトの名無しさん
08/08/24 10:49:13
3Dも描画するならいいだろ
2Dしか描画しないのにOpenGLはバカ

212:デフォルトの名無しさん
08/08/24 12:06:13
GDIで描画したらLinuxでWineが必要になっちゃうじゃん

213:デフォルトの名無しさん
08/08/24 12:27:07
いや、2Dだけ描くのにOpenGL使うようなバカはWindowsだけだろ

214:デフォルトの名無しさん
08/08/24 17:34:26
このスレでうだうだ3D話を続ける奴って頭弱いの?
それとも只の構ってちゃん?
しかも切っ掛けはコピペだって辺りが痛過ぎるよね。

215:デフォルトの名無しさん
08/08/24 17:41:37
きっかけはコピペでのバカの作ったものをバカにされるべき
GPU使っているはずなのにBITBLTしかしてないとかー
もーバカ杉

216:デフォルトの名無しさん
08/08/24 21:55:53
BITBLTの後ろ三つはベーコン・レタス・トマトの略だが、前のBITは何の略なんだ?

217:デフォルトの名無しさん
08/08/24 22:58:34
マルチプラットフォームで2Dを描くのに仕事で使えるレベルの表現力と速度を兼ね備えたライブラリって存在するの?
あればどんなものか教えてください。有償無償問わず。

218:デフォルトの名無しさん
08/08/24 23:02:35
>>217
OpenGL

219:デフォルトの名無しさん
08/08/24 23:23:16
マルチプラットフォームの仕事なんて普通ないだろ

プロならプラットフォームに最適化されたライブラリを選択しろよ

220:デフォルトの名無しさん
08/08/24 23:34:53
OpenGL専門学校の学生さんにマジレスするなよ

221:デフォルトの名無しさん
08/08/25 00:54:10
>>219
>マルチプラットフォームの仕事なんて普通ないだろ


222:デフォルトの名無しさん
08/08/25 00:56:55
>>217
URLリンク(d.hatena.ne.jp)

223:デフォルトの名無しさん
08/08/25 01:00:30
>>221
これから増えるだろう
お前は近視か?

224:デフォルトの名無しさん
08/08/25 01:01:51
間違った。>>219だ。

225:デフォルトの名無しさん
08/08/25 01:06:43
>>219
openofficeはいったい何なんだ?マルチプラットフォームのソフトウェアじゃないのか?

226:デフォルトの名無しさん
08/08/25 02:40:58
お前は仕事でopenofficeにかかわったのか?
違うだろ
派遣先のプラットフォームだろ

お前の会社がマルチプラットフォームの製品を開発してんのか?
違うだろ
派遣先のプラットフォームだろ

現実見ようぜ

227:デフォルトの名無しさん
08/08/25 02:51:05
>>226
まず、仮定からおかしい。
・マルチプラットフォームのソフトウェアはopenofficeだけではない。
>>225の仕事の内容を断定する根拠が見当たらない。
・なぜ無数にある可能性から>>226の仮定を導き出したのか不明。

説明をお願いします。

228:デフォルトの名無しさん
08/08/25 02:56:05
>>227
>・マルチプラットフォームのソフトウェアはopenofficeだけではない。
まず仮定からおかしい。
実際に仕事でマルチプラットフォームを開発しているのかを問題にしている。
>>225がopenofficeを開発したというのなら謝る。おみそれした。

>・>>225の仕事の内容を断定する根拠が見当たらない。
まず自分で開発してそうにないopenofficeを出してくるあたり、
ただのバカ=派遣ってこと

>・なぜ無数にある可能性から>>226の仮定を導き出したのか不明。
派遣に可能性なんてない

229:デフォルトの名無しさん
08/08/25 03:04:17
荒らしは放置の方向で。

230:あぼーん
08/08/25 08:29:00
219のほうがバカだと思います。
マルチぷラットフォームの仕事はあると思います。

231:デフォルトの名無しさん
08/08/25 09:16:36
だからお前はマルチプラットフォームの仕事をしたことあるのかと

232:デフォルトの名無しさん
08/08/25 11:23:15
サターンとプレステで同じゲームを同時に作ったぞ
同時に作っただけだけど

233:デフォルトの名無しさん
08/08/25 12:41:48
>>231
Firefoxはマルチプラットフォームじゃないのかね。

234:デフォルトの名無しさん
08/08/25 12:43:22
マルチプラットフォームの要件はオープンソースではかなり多い。
オープンソース系の企業ならそういう仕事していてもおかしくないね。

235:デフォルトの名無しさん
08/08/25 12:48:10
日本語読めないの?
聞かれてるのは「お前は仕事でマルチプラットフォームをやったことがあるのか?」だぞ


236:デフォルトの名無しさん
08/08/25 12:51:51
>>235
話のすりかえ。
俺自身は学生時代にFirefoxの開発に携わったが、
今の話題は「マルチプラットフォームの仕事があるかないか」。
お前が間違っていることに気づけ。

237:デフォルトの名無しさん
08/08/25 12:53:16
そもそも、ここの住人が開発に携わったことがあるかどうかなんて誰も興味を持っていないし、
信憑性もない。
もっと有益は議論をすべきだと思うけどね。


238:デフォルトの名無しさん
08/08/25 12:54:24
スレ違い お前らネットイナゴは佃煮にされて死んでしまえ

239:デフォルトの名無しさん
08/08/25 12:58:38
派遣先企業で派遣先企業のプラットフォームに合わせたものを実装するのがおまえら派遣プログラマの仕事だろ
派遣先正社員からマルチプラットフォーム対応なんて指示されてないだろ
くだらないこと考えて余計な工数使うなよ

240:デフォルトの名無しさん
08/08/25 13:13:32
>派遣先企業で派遣先企業のプラットフォームに合わせたものを実装するのがおまえら派遣プログラマの仕事だろ
派遣先がパッケージベンダってこともあるだろう
なにムキになってるの?

241:デフォルトの名無しさん
08/08/25 13:23:54
>>239
何故派遣にこだわる?

242:デフォルトの名無しさん
08/08/25 13:49:24
ID出すとしょうもない素人以下の奴がいろんなスレに粘着してた

243:デフォルトの名無しさん
08/08/25 14:17:22
>>242
この板はID出ないじゃん

244:デフォルトの名無しさん
08/08/25 14:18:21
なんだみんな派遣だったのか

245:デフォルトの名無しさん
08/08/25 15:59:39
派遣に異常なコンプレックスを持っている人がいるようですが、
池沼の方なので基本放置でおねがいします。

246:デフォルトの名無しさん
08/08/25 16:06:10
夏の間だけ2chもアカウント認証式にすればいいと思う。

247:デフォルトの名無しさん
08/08/25 21:59:49
正社員にコンプレックスでしょ?
派遣のどこにコンプレックスをもてと

248:デフォルトの名無しさん
08/08/25 23:45:38
ひどい脱線ぶりだな。

249:デフォルトの名無しさん
08/08/25 23:49:36
派遣野郎はスレ違い

250:デフォルトの名無しさん
08/08/26 00:13:24
>>232
それありそう。PS3 と Xbox360 とか。どう似せるかに力が注がれる・・・

251:デフォルトの名無しさん
08/08/26 00:59:55
ここはなんのスレなんだ

252:デフォルトの名無しさん
08/08/26 04:09:43
くだすれ

253:デフォルトの名無しさん
08/08/26 06:23:56
CUDAはマルチプラットフォーム。

254:デフォルトの名無しさん
08/08/26 07:35:34
アホかい。

255:デフォルトの名無しさん
08/09/25 14:29:37
━━━━━━━━━━━━━━━━━━━
■ 今週の名言
───────────────────
         「HPCは“ハイ・プロダクティビティ・コンピューティング”」
      日本SGIのHPC・サービス事業本部で本部長を務める田坂隆明執行役員)


256:デフォルトの名無しさん
08/09/28 22:50:51
CUDAってSIMD並列といいうことは、過去のスパコン用のコード
移植したら激速ってことでOK?

257:デフォルトの名無しさん
08/09/29 11:43:54
>>256
SIMDじゃないよ。仮にそうだとしても、そんなに単純な話じゃない。

258:デフォルトの名無しさん
08/09/30 05:16:33
SIMDだよw

259:デフォルトの名無しさん
08/09/30 16:35:15
SIMDじゃないなら、何なのか問いたい。

260:デフォルトの名無しさん
08/09/30 17:38:27
SIMDだったりMIMDだったり

261:デフォルトの名無しさん
08/09/30 21:12:21
実行はSIMDだけど
コードはスカラだから面倒臭いよ

262:デフォルトの名無しさん
08/10/01 10:37:52
NVIDIAはSIMTと言っているね。SIMD+αくらい。
オンボメモリはSX8i並だからやっぱ速いんじゃねーの。

263:デフォルトの名無しさん
08/10/01 13:58:23
理屈はいいからなんか作れよ
>>過去のスパコン用のコード移植したら激速ってことでOK?
OKの一言で終わることをなにぐだぐだやってんだか

264:デフォルトの名無しさん
08/10/01 18:46:54
要するに、「移植できるもんならしてみろ」ってことだろw

265:デフォルトの名無しさん
08/10/01 23:50:07
だね。単純に移植できるとは思わない方がいい。

266:デフォルトの名無しさん
08/10/02 00:27:50
たしかにブロック切り分けの所もう少しスマートにならないのかと思うのだが
あんなもんデバイスの種類で最適化した組み合わせを自動算出すりゃいいだろ

267:デフォルトの名無しさん
08/10/02 00:29:52
>>266
CUDA2でストリームプロセッサ数なんかも取得できるようになったから、
是非とも自動算出関数を作ってみてくれ。

268:デフォルトの名無しさん
08/10/02 01:08:48
いや作るのは簡単なんだけどCUDAってクラスも使えないしラップ出来ないからだめじゃん

269:デフォルトの名無しさん
08/10/02 01:11:17
あいや出来るのか
使うのなら作るぞ

270:デフォルトの名無しさん
08/10/06 20:37:38
CUDAに興味があっていろいろ調べてるんだけど
URLリンク(slashdot.jp)
こんなにメモリアクセスがきついのか…
へたれの俺はCPUで頑張ろうって気になってきた
このあたりの条件が和らぐのはどれくらい後だろう?

271:デフォルトの名無しさん
08/10/06 21:10:43
それでもビデオカードは一世代速いメモリを積んでいるから、レイテンシを誤魔化せれば、CPUより多少はいいんじゃないかな。
CPUもGPUも、演算能力よりメモリのスピードがネックなんだよねえ。

272:デフォルトの名無しさん
08/10/06 22:18:57
>>270
そうそう、グローバルメモリはコヒーレントな読み出しなら4クロックなのに
ランダムアクセスすると100倍のクロックを喰ってしまう。
スラッシュドットの記事の書き方はちょっと言葉が足りてなくて、
実際にはいかにメモリをコヒーレントな読み書きで済ませるかが鍵ということになる。

例えば、CUFFTの2Dを1000回回すのと1Dバッチと自前の転置を2回ずつ動かすのとでは、
64x64辺りだと余り変わらないのに128x128になると途端に2Dの方が速くなる。
プロファイラで調べると、CUFFTの内部で用意されている転置関数はコヒーレントな読み書きしかしていない。
一方、自前の転置はコヒーレントな読み出しとインコヒーレントな書き出しになっている。
つまり、1000回呼び出すコストをインコヒーレントな書き出しコストが上回ってしまうということだ。

273:デフォルトの名無しさん
08/10/07 01:53:43
CPUより遅くなるということはない
電気代の割りに効果が少ないというのはあるw

274:デフォルトの名無しさん
08/10/11 06:33:45
TMPGEncで軽い処理はCPUより遅い。
VRAMとのメモリ転送あるし。

275:デフォルトの名無しさん
08/10/15 22:02:44
メインメモリと共有するタイプのGPUで処理した方が速い事も状況によってはあるのかな

276:デフォルトの名無しさん
08/10/15 22:26:03
CUDAでは有り得ないからスレ違い。GPGPUスレにでもどうぞ。

277:デフォルトの名無しさん
08/10/26 18:43:49
すいません、超低級な質問です。

dim3 threads(128, 1, 1);
dim3 grid(128, 1, 1);

hoge_kernel <<< grid, threads >>> (d_ptr, 128);

とかで関数を呼び出したんですが、ホスト側のスレッド数が128個生成
されるみたいです。これって、GPU内にスレッドが出来るんだと思って
たんですが、違うんでしょうか?

ちなみに、-deviceemu はつけてません。コンソールに以下のように
出るので、GPUにはいってると思います。

Using device 0: GeForce 8600 GT


278:デフォルトの名無しさん
08/10/26 20:58:06
>>277
>ホスト側のスレッド数が128個生成されるみたいです。
そう判断した根拠は?

それとは別になるが、128x128が妥当かどうかは検証が必要だと思う。

279:デフォルトの名無しさん
08/10/27 17:11:09

質問です。

__device__ void hoge_kernel(void)
{
}


extern "C" __global__ void hoge(void)
{
dim3 threads(16, 1, 1);
dim3 grid(16, 1, 1);

hoge_kernel <<< grid, threads >>> ();
}


上をコンパイルすると、
「error: call can not be configured」
となるんですが、これはどういうことなんでしょうか。


280:デフォルトの名無しさん
08/10/27 17:47:00
__global__な関数から__device__の関数を<<<>>>で呼ぶことはできない。

281:デフォルトの名無しさん
08/11/01 09:40:52
ちょっと質問させてくらさい。。

8ストリーミングプロセッサ(SE)単位で構成されている
ストリーミングマルチプロセッサ(SM)でのことなのですが、
グローバル(ローカル)メモリ上へのデータのロード、
ストア命令は100サイクル以上かかってしまいますよね。

その間、8つのストリーミングプロセッサはおお休みしている
のでしょうか?

それとも、他のWarpのインストラクションが割り当てられたり
するのでしょうか。そうであるといいのですが、
そうするとSharedメモリがあとからのWARPにのっとられてしまって
まずそうですよね???

レジスタ的には32bit×2048本あるようなので(280の場合)
OKそうですが、Sharedメモリは16KBytesしかないし。

実際LD、STに160サイクルぐらいくったら、
160命令ぐらい無駄にしちゃって効率をかなり落としてる気がするので、
なんかやです。

24WARPぐらい、バッファリングしていて、割り当てられるWARPを
out of oderで実行するという記事も、どっかで見たような
気がするのですがSharedメモリがじゃまして無理があるような・・・

なんか良い方法があるのかな???

っていうか、なにか根本的な部分で俺の勘違い?




282:デフォルトの名無しさん
08/11/01 10:12:52
・グローバルメモリアクセスは、最大400(?)クロック掛かるが、最短では4クロックで済む。
# そのためには、coalescedにアクセスできるように工夫する必要がある。
・各ストリーミングプロセッサは、独立して動作する。Sharedメモリも同様。

例えば、行列の転置のような処理の場合、普通に書くとcoalescedに読んでincoherentに書かざるを得ない。
# 或いはその逆か。
そこで、CUFFT内で行なっている転置処理では、(プロファイルで見る限り)一旦共有メモリにおいて同期を取ることで、
読み書き共にcoalescedアクセスを維持しているようだ。

283:デフォルトの名無しさん
08/11/01 18:40:52
>>282
早速のレス、さんくす。

なるほど、最短4クロックですか。coalescedにしてもレイテンシー
だからだめかなって思ったけど、よくよく考えると、DRAMへの直接
アクセスに数百クロックってのはおかしいことに気づいた。

各ストリーミングプロセッサは、独立だけど1インストラクション単位で
同期してるんじゃないんかな(んなことぁない?)

・・・っておもったけどブランチがあるから、TPXレベルから見ると独立か???

最初見たときSharedメモリも他のSPのregも0レイテンシで使える
ようだったんで、演算と独立にグローバルメモリとのロード、ストアができん
16K程度のSharedメモリ、あまり意味ないじゃんとかおもったけど、
そんなことなさそだね。

なかなか面白そうなチップだ。
分岐粒度が32って実際、汎用でどうなんだろ。
ベクトルつかったことないんでわからんが、
適当にセルオートマタでも乗っけて遊んでみまつ。




284:デフォルトの名無しさん
08/11/12 22:42:34
CUDA-Zなんて便利なものがありました。
forum.nvidia.co.jp

285:デフォルトの名無しさん
08/11/12 22:55:32
>>284
kwsk

286:デフォルトの名無しさん
08/11/12 23:19:24
URLリンク(cuda-z.sourceforge.net)

287:デフォルトの名無しさん
08/11/14 19:39:30
あげてすまん。

CUDAのためにGTX280つきのPCかったのだが
ほかにもう一枚グラボ買わないといけんのかな?

あとPCIバスしか残ってないのだが・・・
LINUXで使う予定。



288:デフォルトの名無しさん
08/11/14 22:57:10
>>287
別に一枚でも大丈夫。二枚挿しても(開発には)却って面倒だったり。
まぁ、二枚あれば表示に足引っ張られる心配なくなるから安定はするけどね。

289:デフォルトの名無しさん
08/11/15 00:41:03
>>288
そうなのか、安心した。

ありが㌧

290:デフォルトの名無しさん
08/11/15 17:39:36
質問です。

float にてゴリゴリ計算して、結果を返すプログラムを書いてみたのですが、
普通のアルゴリズム、CUDA+GPU、CUDA+CPU(deviceemu) の2つで比較して
みたところ、思ったより差が大きいのですが、こんなもんですか?

もしくは、機種依存があったりするんでしょうか?

291:290
08/11/15 17:40:23
>>290

すいません、間違えました。
「2つで比較して」->「3つで比較して」

292:デフォルトの名無しさん
08/11/15 19:43:01
何の差?
演算精度なら、そりゃぁあるさ、floatなんだもの。

293:デフォルトの名無しさん
08/11/15 20:51:43
ホストは、デフォルトではfloatをfloatで計算してくれないからな。

SSEを使うなりで、ホストがちゃんとfloatで計算すれば、結果は一致するんジャマイカ?

294:デフォルトの名無しさん
08/11/15 20:57:47
>>293
一致する保証はないよ。CUDAのドキュメントにもあるけれど、超越関数はGPU内部の組み込み版を使うと若干誤差が残る。
いずれにしてもfloatの想定の範囲内だから、実用上は問題にならないけどね。

295:,,・´∀`・,,)っ-●◎○
08/11/15 22:26:10
x87 SSE CellB.E. CUDA の浮動小数サポートの対比表みたいなのがCUDAのマニュアルにあったな。
確かに完全じゃない。
糞まじめに準拠してるのはx87くらいだ


296:290
08/11/16 02:56:28
>>292-295
なるほど。出てきた結果が、CPU上の double で計算した結果と、
GPUの float で計算した結果が、最大1%程度違ったから、正直
驚きました。普段doubleしか使って無くて、誤差なんかほとんど
気にしなくてよかったので。

誤差が蓄積してくようなタイプのアルゴリズムではないと思っていた
だけに、少し驚きました。

297:デフォルトの名無しさん
08/11/20 18:53:51
Cで使っていた自作ライブラリは、
nvccでコンパイルし直さなきゃダメなの?

298:,,・´∀`・,,)っ-○◎-
08/11/20 18:58:40
食べてみたけどおいしかったよ。
一つどうぞ、あーんして

299:,,・´∀`・,,)っ-●◎○
08/11/20 19:44:47
飾りだ、食うなボケ。


300:,,・´∀`・,,)っ----
08/11/20 21:36:00
僕のもうないです
>>299から貰ってね

301:デフォルトの名無しさん
08/11/20 23:10:32
>>297
ホスト(CPU)上で実行させるものならVC++と一緒にリンクできる。
(cppIntegrationサンプル参照)

GPU上で実行させたいならそれなりにいじくらないと無理。

302:デフォルトの名無しさん
08/12/01 15:16:29
-deviceemuでは動くプログラムが、GPUを使うと誤動作します。
__device__関数に引数が一部しか渡らなくなります(float4のz成分だけしか渡せない)
ループ回数を極端に減らすと改善されるのですが、これはregisterメモリがパンクしてしまったということでしょうか?


303:デフォルトの名無しさん
08/12/01 17:15:56
ソースを見ないとなんとも言えませんが、ループ回数とregisterは依存関係にはありません。
nvcc -ptxでptxファイルを出力して眺めてみては如何でしょう。

304:デフォルトの名無しさん
08/12/01 23:02:30
ptxファイルですか。。。
正直どこをどう見たらいいのかわからないので敬遠していましたが、
遂に避けられないとこまで来てしまいましたかねえ。

見るべきポイントとかありましたら、よろしければ教えてください。

305:,,・´∀`・,,)っ-●◎○
08/12/01 23:09:56
ptxもネイティブコードじゃなしに中間コードの断片だからな。
レジスタが何本割り当てられるかとかそういった情報すら持ってないから困る。

その点Larrabeeは16本+16本+αとかレジスタ本数が決まってて
コード生成時点で割り当てが決まってしまう。
結果的に静的な最適化がしやすい。

良し悪し。


306:デフォルトの名無しさん
08/12/02 13:02:50
リョウテニ●ヽ( ・∀・)ノ● CUDA!

307:デフォルトの名無しさん
08/12/03 17:58:11
.oとかにしてgccでリンクすることってできますか?

308:デフォルトの名無しさん
08/12/04 00:09:51
>>307
何を? どこで? なんで質問もろくにできないの?
ちなみに、エスパー募集ならお門違い。

309:デフォルトの名無しさん
08/12/04 00:52:30
>>307

普通にできますよ。
-l/usr/local/cuda/lib -lcudart
等のオプションは当然自分で追加する必要があります。


310:デフォルトの名無しさん
08/12/04 06:13:34
Windowsで、とかいう話だったりしてね。

311:デフォルトの名無しさん
08/12/04 10:05:39
.objじゃなくて.oって書いてあるんだからそれはないんじゃない?

312:デフォルトの名無しさん
08/12/04 22:31:14
それだったらわざわざ聞くかねぇ。まぁいいか。

313:デフォルトの名無しさん
08/12/12 18:47:36

【GPGPU】CUDA/ATI STREAM 速度・画質検証スレ
スレリンク(jisaku板)
 


314:デフォルトの名無しさん
08/12/14 19:30:29
これからCUDAを始めようといろいろサイトを巡回しているのですが、
グリッドサイズとブロックサイズはどのようにして決めたらいいのでしょうか?
同期をとるかとらないかで変わると思いますが、とりあえずとらない場合でお願いします。

315:デフォルトの名無しさん
08/12/14 20:41:30
>>314
BlockSize(スレッド数)は32の倍数で余り大きくない辺り。GridSize(ブロック数)は充分大きく。

316:デフォルトの名無しさん
08/12/14 21:31:49
>>315
ありがとうございます。
もう一つ質問させていただきたいのですが、たとえば、512x512のようにブロックサイズ、グリッドサイズ
ともに最大値未満の場合、<16, 32, 1>のように複数の次元に分けるのと、<512, 1, 1>のように1つの次元
にまとめるのとどちらがいいのでしょうか?
多分通常はブロックサイズは各次元の最大値<512, 512, 64>をオーバーすることが多いと思うので、こちらは
分けることになると思いますが、グリッドサイズの最大値は<65536, 65536, 1>もあるので、
次元を分けなくてもいいときは分けない方がいいのでしょうか?

317:デフォルトの名無しさん
08/12/14 22:01:51
threadサイズが実際の分散処理の単位になる
つまりthread数だけ並列演算が行われる
例えばthread(1)にしてblock(10)とかだと順次処理と変わらない
ただしthreadは256までしか出来ないのでblockという単位が容易されてる
blockは単にプログラムがやりやすいように用意されただけのもので
実際に分散処理には影響しない

318:デフォルトの名無しさん
08/12/14 22:15:42
>>316
言いたいことがよく判らんが、演算量が512x512ならブロックを8x8にしてグリッドを64x64でいいんでない?
或いはxyの区別が重要でないならブロックを64、グリッドを4096とか。
私は後者の方針でptxファイルの出力とプロファイルの結果を睨みながら決定することが多いけど。
# 横着するときは前者だなぁw

319:デフォルトの名無しさん
08/12/14 22:17:30
>>316
単に内部ループが
for(x=0;x<?;x++){}
_global_

for(x=0;x<?;x++){
for(y=0;y<?;y++){
_global_
}
}
になるかの違い

320:デフォルトの名無しさん
08/12/14 22:24:34
元の位置を特定する為にglobal関数でインデックスを計算することになるから
もしxやyのどちらかで収まるなら1つだけ使うのが良い
global関数内部の計算コストが一番ネックになる部分だからね
インデックスの計算部分が一番邪魔で削れるだけ削った方が良い

321:デフォルトの名無しさん
08/12/14 22:35:25
>>317,319
ありがとうございます。ようやく喉のつっかえが取れました。

>>318
試しに昔書いた画像処理のコードを移植しようとしていたのですが、入力によって
いろいろサイズが変わるので、512x512で固定するのはちょっとやりづらいかなと…
ただ、ここまでの話からするとchannel(RGB)*height*widthの三次元配列に画像をつっこんで、
grid = <height, channel, 1>
block = <32, width / 32, 1>
で処理を回せそうですね。画像の幅をを32の倍数に合わせる必要はありそうですが。

>>320
ありがとうございます。実際に使うときは上のような感じにブロックとグリッドの数を決めようかなと
思いますが、どうでしょうか?

322:デフォルトの名無しさん
08/12/14 22:59:47
heightは超えてもいいの?
範囲は内部でインデックスが範囲かどうか判定するよりは
端数を含めたメモリを確保して必要無い部分も計算させてしまった方が速いよ

323:デフォルトの名無しさん
08/12/14 23:22:38
>>322
そこまで大きな画像を入れるかどうかは分かりませんが、確かに高さが65536を
超える場合は分割してやる必要がありますね。

>端数を含めたメモリを確保して必要無い部分も計算させてしまった方が速いよ
ということは、配列にコピーするときに幅を合わせてコピーするのではなく、後ろに空白部分を
まとめた方がいいということでしょうか?

#これって多次元配列を引数に渡すのってどうするんだろう…

324:デフォルトの名無しさん
08/12/15 00:01:31
いや、最終的には全て一次元の配列でそれが適切な間隔でアクセスされるように並んでいるのが一番いいことになる。
だから、画像なんかの場合だと座標値に意味がないなら詰め込んで構わない。
実際には、コンボリューションフィルターなどで隣の画素を参照しないといけないことが多いだろうけど、
その場合はどうせ共有メモリを使ってアクセスを減らすなどの工夫が必要だからどの途32の倍数に拘る必要はない気がする。

325:デフォルトの名無しさん
08/12/15 00:50:40
論文用のならともかく普通の画像処理で画像サイズが固定されてることはまずないし
サイズも共有メモリじゃとても足りない
共有メモリを使うならCPUサイドであらかじめ画像を分割して渡すという方法しかないけど効率悪いよ
毎回隣接した画素情報も含めないといけないから

326:デフォルトの名無しさん
08/12/15 01:06:12
>>324
カーネルサイズにもよりますが、sharedメモリはちょっとサイズ的にきつそうですね…
constantメモリならブロックサイズを調整すれば何とかなるかも?

>>325
単なる趣味グラムなので、ぶっちゃけ全部globalメモリからとってきてもいいような気がしたのですが、
逆にそれだとCPUで処理するよりも遅くなりそうですね

327:デフォルトの名無しさん
08/12/16 01:54:49
遅くなりそうというかどんだけがんばっても最終的にはglobalメモリを使うのが一番早いという結論になるよ
まあそれがGPGPUの一番のネックなんだけどね
CPUサイドのメモリを共用するようにいずれはなるんだろうけど今の限界はそこ

328:デフォルトの名無しさん
08/12/16 06:11:12
一番(手っ取り)早いのは同意するが、一番速いとは限らない。
それこそ、思考放棄じゃないかな?

329:デフォルトの名無しさん
08/12/19 00:31:55
詰まってます、助けて・・・
私はVS2005で開発しようとカスタムウィザードを入れ、ツールキットとSDKをインスコし
パスも通したのにLNK1181エラーでるんです・・・存在しないオブジェクトファイルを指定するのはなぜでしょう?
ライブラリパスがみつからないってどういうことなんでしょうか?

330:デフォルトの名無しさん
08/12/20 01:37:50
"Program" "Files"と認識してるとか

331:デフォルトの名無しさん
08/12/20 02:38:31
Windowsってなんで重要なディレクトリ名にスペースなんか入れるんだろう。
MSって頭悪いの?

332:デフォルトの名無しさん
08/12/20 04:16:06
低脳を排除するためかもねw

333:デフォルトの名無しさん
08/12/20 05:06:25
プログラマお断り。ずっと消費者で居てくだちい。

334:デフォルトの名無しさん
08/12/20 06:27:59
デスクトップやマイドキュメントのスペースや半角カナフォルダはなくなったが、Program Filesはそのままだな。

335:デフォルトの名無しさん
08/12/20 09:43:22
>>331
その昔16ビットOSが主流だったころM$は8文字ファイル名しか扱えなかった
そしてUnix系OSは既にロングファイルネームに対応していた
そこで登場したのが32bit Window 95だった
長いファイル名が使えるんだぞ、凄いんだぞと新発明でもしたかのように宣伝していた
そして自慢げにフォルダ名を無駄に長くした

336:,,・´∀`・,,)っ-●◎○
08/12/20 12:23:53
VistaはUNIXerには優しくなったな。
上位エディション限定だけどSUAも使えるし


337:デフォルトの名無しさん
08/12/20 20:39:06
CUDAをさ、VS2005で使えてる人っているの?
つか、なんで英語のマニュアルしかないんだよ。わかんねーよ

338:,,・´∀`・,,)っ-○◎●
08/12/21 00:44:02
むしろ2005以外でどうやって使うんだ?
2.1βで2008対応したけど


339:デフォルトの名無しさん
08/12/21 00:58:06
>>338
おお、それはいいこと聞いた
やっと2005アンインストールできる

340:デフォルトの名無しさん
08/12/21 01:37:02
>>338
どこか日本語で環境設定を教えてくれるサイト知ってたら教えてくれ・・・

341:デフォルトの名無しさん
08/12/21 01:55:48
環境設定なんか何も要らんがな。スクリプト走らせるだけ。
bashのバージョンによってはウォーニング出るけど、ちゃんと動く。
スクリプト猿にも成れないとは、どんだけゆとり脳なんだよ?スポンジなの?

342:,,・´∀`・,,)っ-●◎○
08/12/21 10:35:26
どのみちあの程度の英語が読めない人に優れたプログラミング書くのは無理だと思うんだ。
俺の私的な業務の手伝いしてくれるなら日本法人さんに代わりにチュートリアルとかの要求
してあげてもいいんだけど、職権乱用か。

>>340 ここで解らなかったらもう諦めたら?
URLリンク(chihara.naist.jp)

343:デフォルトの名無しさん
08/12/21 11:55:12
どうでもいいけど、↑のURLは「disp_content」を削らないとエラーになった。

344:デフォルトの名無しさん
08/12/21 12:58:13
>>340
サンプルプロジェクトを開いて設定を見て勉強するのがいいよ

345:デフォルトの名無しさん
08/12/24 12:51:08
英語読めないのにプログラミング言語してる男の人って・・・

346:デフォルトの名無しさん
08/12/24 18:35:50
英語に優越感もってるやつって、さもしいな

347:デフォルトの名無しさん
08/12/24 19:03:01
>>345
可愛いもんだよねv

348:デフォルトの名無しさん
08/12/24 23:58:39
英語なんて誰でも1ヶ月もあればある程度は読めるようになるよ
出来ないと思い込んでやろうとしないだけで

349:デフォルトの名無しさん
08/12/26 12:46:32
vs2005の環境で拡張子cuの場合、定義参照はできるのですが、
インテリセンスが機能しません。freeとかvcのランタイムも同様に
機能しないのですが、やり方分かる方いますか?
ツール->オプション->テキストエディタ->ファイル拡張子にcu c++として
登録するとできるのは上記だけです

350:デフォルトの名無しさん
08/12/26 22:27:18
いっそ、nvccの拡張機能以外は全部cppでやったら?

351:デフォルトの名無しさん
08/12/27 05:03:22
それがスマートだね

352:デフォルトの名無しさん
08/12/27 17:53:02
質問です。
VC++2005で開発する際に、コマンドプロンプトにデバイス名も含め一切文字を表示させたくないのですが、どのようにすればよいでしょうか?

353:デフォルトの名無しさん
08/12/27 18:38:27
>>352
長いパス名が邪魔なだけなら set PROMPT=$G とか?


354:デフォルトの名無しさん
08/12/27 18:47:25
>>352
CUTILを使うと標準出力があるって話なら、リダイレクトするかCUTILを使わなければいいと思うのだが。

355:デフォルトの名無しさん
08/12/28 01:33:08
プロンプト出したくないって話なら_tmainじゃね

356:352
08/12/28 02:53:51
>>353-355
回答ありがとうございます。

>>353
質問があいまいですみません。
パス名が邪魔、ってわけではないです。

>>354
おそらくこの指摘にあてはまるのだと思います。
>リダイレクト
リダイレクトしても、コマンドプロンプトに表示が出てしまいます。
>CUTIL
cutil.hを使わずに、cutil.hで提供されている関数を使わない方法、もしくは、代替可能なヘッダーファイルはありますか?

>>355
_tmainを使ってしまうとWindowsでしか使えないソースコードになってしまうので、別の方法があれば教えてください。

357:352
08/12/28 02:55:28
自己レスですw

誤:cutil.hで提供されている関数を使わない方法
正:cutil.hで提供されている関数を使う方法

の間違いです。

358:デフォルトの名無しさん
08/12/28 03:10:48
system("cls");
とか

359:デフォルトの名無しさん
08/12/28 10:49:28
>>356
> _tmainを使ってしまうとWindowsでしか使えないソースコードになってしまうので、別の方法があれば教えてください。
Windows かどうかで #ifdef するくらいは許されるんじゃないの?

360:デフォルトの名無しさん
08/12/28 14:29:28
プロジェクトの設定でWindowsアプリにすればいいだけでしょ


361:デフォルトの名無しさん
08/12/28 14:32:32
>>_tmainを使ってしまうとWindowsでしか使えないソースコードになってしまうので、別の方法があれば教えてください。
mainだろうがWindows依存部分のコードが発生するのは当たり前でしょ
CUDAの部分とC++の部分とWindows依存部分とファイルを分離するのが鉄則だよ
複数の環境で使う場合は#ifdefプラグマを使って分離したWindows依存部分の
#includeを切り替えるようにするだけ

362:デフォルトの名無しさん
08/12/28 17:29:43
コンパイラのオプションで指定できるでしょ
環境ごとにmakefile書くだけじゃね

363:デフォルトの名無しさん
08/12/28 17:48:49
>>361
#ifdefはいつからpragmaになりましたか?

364:デフォルトの名無しさん
08/12/28 17:53:47
>>363
#ifdefディレクティブと言いたかったんじゃないの?
で、使い慣れない言葉なんでつい間違えたと。
句読点もちゃんと使えないようだし、日本語に慣れていない三国人なんでしょ。

365:デフォルトの名無しさん
08/12/28 22:36:27
cudaのMDコードどこかに追ってませんか?

366:デフォルトの名無しさん
08/12/29 12:11:23
たった1行でここまで意味不明なのも凄いな。

367:デフォルトの名無しさん
08/12/29 12:24:23
×追ってませんか?
○オッドアイいませんか?

368:デフォルトの名無しさん
08/12/29 13:39:38
>>365氏はcudaで書かれたMD(分子動力学)コードどこかに落ちてませんか
と聞いてるのかと。当方も知らないので答えられませんが。
Fortranで書いたものを全部はアレなのでGPU上で実行したいサブルーチンだけ
Cに変えてCUDAで動かしたいのですが、そんな例とかは落ちてないですかね。
mainルーチンその他関係ないところまで全部Cに移植するのが嫌ってだけな
んですが。あ、当方はIntelFortran使用。
当方まだCUDA触りたて、試しにSTREAM BMTのtriadだけ手で適当に書いて
GeForce9600GTで40GB/s弱(効率7割弱)のメモリバンド幅。あ、じゃもうでき
るじゃんとか勝手に思い、Fortranのコードに挑もうとしてあえなく止まってますorz

369:デフォルトの名無しさん
08/12/29 14:08:06
URLリンク(www.easize.jp)

370:368
08/12/29 14:20:59
>>369
ありがとうございます。m(_ _)m
多次元配列はどのみちGPU上では一次元化するつもりでしたがなるほど。
参考にさせていただきます。

371:デフォルトの名無しさん
08/12/29 14:45:46
>>369
そのページ、ポインタの扱いがメタメタだな
わかってるなら別にいいが

372:デフォルトの名無しさん
08/12/29 14:49:43
うん、ぶっちゃけ「"cuda fortran"でぐぐって一番上に来たリンク貼り付けただけ」なんだ、すまない

373:デフォルトの名無しさん
08/12/29 14:50:01
何か普段使うものをCUDAに移植しようと思いつつ適当な物が見当たらない

374:デフォルトの名無しさん
08/12/30 02:15:09
ぶっちゃけ、俺もそうなんだよね。おまけで付いて来たサンプル書き換えて
動かしてFLOPSベンチしてるだけ。
CUDA動かす環境をコスパ良く構築するには?と考えて色々やってみたが、
構築した環境で動かすモノって、結局サンプルの改造ばっか。まんまと
nVidiaの販促戦略に乗せられたぜw

375:デフォルトの名無しさん
08/12/30 08:50:29
zip圧縮とかjpg圧縮とかを移植したらライセンスの関係はどうなるの?

376:デフォルトの名無しさん
08/12/30 12:52:04
圧縮アルゴリズムに関しては問題ないんじゃね?

377:デフォルトの名無しさん
09/01/19 15:08:44
CUDAプログラミングモデルの概要
URLリンク(http.download.nvidia.com)
CUDAプログラミングの基本(パート I - ソフトウェアスタックとメモリ管理)
URLリンク(http.download.nvidia.com)
CUDAプログラミングの基本(パート II - カーネル)
URLリンク(http.download.nvidia.com)

378:デフォルトの名無しさん
09/01/21 03:21:23
デバイス側に確保したメモリにホスト側から
cudaMemcpyのように一括でコピーするのではなく、
一部分だけコピーする、又は書き換える良い方法がありましたら教えてください。



379:デフォルトの名無しさん
09/01/21 03:28:19
・cudaMemcpy()で一部分だけコピーする。
・cudaMemset()で(ry
・そういうカーネル関数を用意して呼び出す。

380:デフォルトの名無しさん
09/01/21 12:27:16
一部分だけってのはたいてい順次処理になるからCPUにやらせたほうが有利だよ

381:デフォルトの名無しさん
09/01/22 01:33:54
CUDAのプログラミングでZIPアーカイブのパスワード解析とか、早くなりませんかねぇ。
エンコード/デコードに使えるんだから、どうなんでしょう?

382:デフォルトの名無しさん
09/01/22 06:38:19
CUDAのfortranサポート予定ってGPUカーネルの部分をfortranライクに
書けるようになるって理解でいいのかな?2.0からって見かけたけど、それっぽい記述が全く無い…

383:デフォルトの名無しさん
09/01/22 08:47:26
>>379-380
ありがとうございました。
参考にさせていただきます。

384:デフォルトの名無しさん
09/01/22 19:18:17
>>381
総当りか辞書型か知らんが演算能力よりI/Oの問題だろ普通。

385:デフォルトの名無しさん
09/01/22 20:12:54
>>381
早くなるよ

386:デフォルトの名無しさん
09/01/23 00:20:22
>>384
ファイル数が多い場合はI/Oも問題になるかもしれませんが、
ある程度のサイズであればWindowsでもメモリに読み込むので、
それほど問題にならないのでは?
毎回物理的に読みに行くわけではないし。



387:デフォルトの名無しさん
09/01/26 09:28:38
ファイルI/OじゃなくメモリI/Oなのでは?

388:デフォルトの名無しさん
09/01/28 11:49:27
>>387
お前は何を言っているんだ

389:デフォルトの名無しさん
09/01/28 12:47:12
>>388
pciバスつかうんだろ?
立派なioとおもうが



つかクーダってほんとマイナーなんだね。

390:デフォルトの名無しさん
09/01/28 13:18:14
そりゃNVIDIA限定だからだろ?グラボを選ぶのなら汎用的なアプリは作れない。
CUDAよりもっといろんなグラボに対応しているOpenCLへのつなぎに過ぎないよ。

391:デフォルトの名無しさん
09/01/29 00:08:14
ZIPのパスワード解析にZIPファイル全体へのアクセスが必要だと勘違いしてる馬鹿w

392:384
09/01/29 08:00:22
>>381-391
ああ、俺がぼけてた。なんか知らんけど自分でもなんであんなレスつけたんだろ orz
わけわからない流れにしちまって、すまん。

正しくはこうだな。↓
パス解析では総当りにしても辞書にしてもforなどのループ速度が求められるだけで、
CUDAによる計算は意味があるのかい?と思った。
MD5とかデータから導き出す数値ならば本当の意味での解析だから意味ありそうだけど。




393:デフォルトの名無しさん
09/01/29 23:02:34
こんな記事もあるしな

GPUを利用した無線LANのパスワードクラッキングが主流に
URLリンク(itpro.nikkeibp.co.jp)

394:デフォルトの名無しさん
09/01/30 03:18:20
>>393の言ってるのはまさに本当の意味での解析ってやつだしな。
WPA/WPA2-PSKからの復元は総当り/辞書比較と違ってGPGPUにする意味がある。

395:デフォルトの名無しさん
09/02/01 15:41:49
Catalystだけど、トリップ検索は随分速くなるみたい
URLリンク(sourceforge.jp)

396:デフォルトの名無しさん
09/02/02 21:51:40
ホスト側でconstantメモリを動的に確保できないのでしょうか?
方法がありましたら教えてください。

397:デフォルトの名無しさん
09/02/02 22:44:30
>>396
目的が良く分からないのでなんとも言えませんが、
どうせ64KBしかないのだから静的に64KB確保しておくのではだめなのでしょうか。



398:デフォルトの名無しさん
09/02/02 22:54:45
>>396
あるけど、なんでprograming guide読まないの??

399:デフォルトの名無しさん
09/02/02 23:59:28
>>397
静的に確保しておいてもよかったんですが,綺麗にかけるならとw
>>398
一度目を通したつもりでしたが,素通りしていたようです。
もう一度読み直してきますm(_ _)m


400:デフォルトの名無しさん
09/02/06 00:08:13
誰かZIPの暗号解析ツール作って><
それか解析のループ部分だけうpしてくれたら、カーネルは俺が書きます。

401:デフォルトの名無しさん
09/02/06 06:54:02
総当りするだけならどっかのオープンソース実装の
パスワードチェックと復号ルーチンとってくればいいだろ

402:デフォルトの名無しさん
09/02/06 10:20:56
ただでさえ消費電力がデカイのにパスワード解析に何週間も動かしてられっかw

403:デフォルトの名無しさん
09/02/07 16:57:19
超解像のような考え方は昔からあるようだな

フリーソフトImageD2
URLリンク(www.tiu.ac.jp)

これは時間軸方向にも参照するものだ。
NVIDIAのMOTIONDSPと同じ考え方だな。
西川善司の大画面☆マニア 第113回 超解像
URLリンク(av.watch.impress.co.jp)

この方法は数フレームを参照することで低解像な映像のブレから情報量をアップさせるようだが、
この方法だとシーンチェンジやめまぐるしく動く映像では逆効果でめちゃくちゃな映像になるのではないか?
(これは上記のフリーソフトの別ページでも注意点として載っていた)
でも東芝などの日本の各社がやってる1フレームだけで行う超解像はそもそも無理がある。だから不自然な画質になったり、情報量が逆に消失したりする。
Lanczosなどでそのままアプコンしたほうがずっと情報量あるし自然な画質だ。比較してみれば一発で分かる。
URLリンク(plusd.itmedia.co.jp)
ここの元画像を720×480にし、それをAVIUTLなどでLanczosでフルHDにしたもののほうがずっと綺麗。
超解像は単純な処理だから柵とか崩れてるし、文字も駄目だし、元からあった情報を処理によって消しちゃう副作用のほうが強い。
超解像、超解像と目新しくいって盛り上げようとしたいのは分かるが、こんなのはまやかしだよ。

URLリンク(www1.axfc.net)
比較用画像もうpしておいた

一方、数フレームでやる方法は計算が大変だが、シーンチェンジや盛大な動きの問題さえクリアすればかなり使えそうではある。
MOTIONDSPや↓はそのあたりちゃんとクリアしているのだろうか?
URLリンク(www.flashbackj.com)

404:デフォルトの名無しさん
09/02/07 17:01:19
10年ぐらい前にカーネギメロン大学で勉強してた頃に超解像のプログラム作れっていう課題を出されたことがある

405:デフォルトの名無しさん
09/02/07 17:34:44
ちょー解像は判ったからマルチすんなや。

406:デフォルトの名無しさん
09/02/07 20:13:09
>>403
スレ違いじゃない?
GPGPU 向きな処理なのは確かだし、そもそも Cell なり SpursEngine は GPU じゃないし。
画像処理スレとかあったと思うよ?

407:デフォルトの名無しさん
09/02/07 23:45:41
アメリカのメロン大学は一応名門だけど日本校はどうなんだ?

408:デフォルトの名無しさん
09/02/08 01:05:45
>>404
なにその高レベルな課題
俺の大学時代と雲泥の差


409:デフォルトの名無しさん
09/02/08 02:58:06
超解像の原理が未だに理解出来ません
複数の映像フレームの同じポイントの色の出現頻度に一番高い色を適用するってことですか?

410:デフォルトの名無しさん
09/02/08 13:45:42
は?今の超解像って、時間軸の補完までやってるのか?

411:,,・´∀`・,,)っ-○◎●
09/02/08 13:52:05
MPEGの原理は主にフレーム間差分をとってJPEG圧縮なんで、それを改めてチェックしたところで・・・

412:,,・´∀`・,,)っ-○◎●
09/02/08 21:06:32
>>407
神戸のハーバーランドの近くにあるあれか?
兵庫県の財政圧迫してるらしいよ。
学生少なくて撤退の噂もあります

同じビルの同じ階に神戸電子専門学校の学校法人が経営する大学院がある。
何を勘違いしたのか兵庫県立大学も情報科学の大学院を神戸市内に置いてる。

神戸という都市に何を求めてるのか、理解不能である。

たしかに古くからの工業都市で組み込みソフト屋の数がそれなりにいるのはわかる。
最大の勘違いは、日本のITドカタは職場を離れて大学院に通えるほど裕福ではないことだ。

413:デフォルトの名無しさん
09/02/08 21:49:03
俺はてっきり、ラーメン大学とか、洗車大学と同じノリで、
神戸電子専門学校が作ったヒト寄せパンダだと思ってた。
ってか別法人なのか?
学生少なくて、って言う前に、派遣のワーキングプア、
デジタル土方に成る為にわざわざ苦労して大学通う馬鹿
が神戸のどこに居るんだよっ?




俺が居るよ…orz

414:,,・´∀`・,,)っ-○◎●
09/02/08 22:51:22
兵庫県もネギメロンなんて誘致するくらいなら神戸大に寄附講座でも作ったほうがよかったんじゃね?
現状兵庫県内で優秀な学生がいるんだし。


おっと、「学生」の枠で括ると近くの中高一貫校のほうがよっぽど・・・

415:デフォルトの名無しさん
09/02/09 09:41:15
情報系の大学院は多すぎるよな
旧帝でも定員割れする世の中なのに

このうえ西和彦が秋葉に大学院作るんだから馬鹿としか

416:デフォルトの名無しさん
09/02/09 12:50:30
>>411
誰がMPEGの話をしてるの?
誰も君の知識を披露してくれなんて頼んでないよ?

圧縮で壊れるったって圧縮率によるし、位相が生き残ってりゃ理論的には解像度は上げられる。
圧縮率によっては壊れた分が回復するだけかも知れないけどな。

417:デフォルトの名無しさん
09/02/09 14:21:54
誰がMPEGの話をしてるの?
誰も君の知識を披露してくれなんて頼んでないよ?

418:デフォルトの名無しさん
09/02/09 15:40:30
それを言うなら、なんでいきなり超解像の話になったんだろ?

419:デフォルトの名無しさん
09/02/09 15:43:20
メロン日本校のカリキュラムを見たけど、ウンコすぎて話にならねぇw
こりゃ学生もこねーわ

420:,,・´∀`・,,)っ-○◎●
09/02/09 18:02:06
>>416-417
だれも連投してくれなんて頼んでないよ?

421:,,・´∀`・,,)っ-○◎●
09/02/09 18:06:41
GPGPU向けの画像・動画関連のソフトってどれも速さばかり求めて品質は二の次だな
ウンコなエンコーダだとRGB/YUV変換で腐る
一番腐るのは量子化だろうけどな

422:デフォルトの名無しさん
09/02/09 18:25:28
Geforceは何気にGTXシリーズで初めて64bitに対応してるけど
演算装置は1個しかないw
並列処理が得意な分野でfloatだけで済むようなものはほぼ無いだろw

423:デフォルトの名無しさん
09/02/09 19:05:29
>>420
連投じゃなくて別人
2ch歴長いんだからそれくらい分かれ

424:デフォルトの名無しさん
09/02/09 20:42:10
甘いな。floatでも速ければ使い物になる用途は結構あるもんだよ。
例えば、近似計算なんかはfloatで近似させてからdoubleで更に近づけることもできるしね。

425:デフォルトの名無しさん
09/02/09 21:56:34
そういや西和彦もこっちの出身だな。確か甲陽から和田大
だから、落ちこぼれか。そもそも博士余りで高学歴ワープアPD
が社会問題に成ってる今日この頃に、大学院新設とかもうね
アボガドバナナ…。
鴨葱メロンと言えば、金出教授もこっちの出身だったな。
沢山カメラ使って超解像みたいな論文も有ったような無かったような。

426:デフォルトの名無しさん
09/02/13 13:06:41
>>425
お前、自分の考えまとめるの下手だな。

427:デフォルトの名無しさん
09/02/13 13:31:44
まあ、CUDAは英文のドキュメントが読めてある程度知能がないと
使えないからな。

スレ違いの話で盛り上がるのも分かるな。バカばっかりだしw

428:デフォルトの名無しさん
09/02/13 17:06:53
CUDA版のTripcode Explorerができたみたいですね。最適化に期待します。
URLリンク(tripper.kousaku.in)
URLリンク(download.kousaku.in)

429:,,・´∀`・,,)っ-●◎○
09/02/13 18:13:51
ようこそ、バーボンハウスへ。
このテキーラはサービスだから、まず飲んで落ち着いて欲しい。

うん、「絶対に動かない」んだ。済まない。
仏の顔もって言うしね、謝って許してもらおうとも思っていない。

でも、このネタプログラムを見たとき、君は、きっと言葉では言い表せない
「ときめき」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい、そう思って
5分ででっちあげたんだ。

じゃあ、注文を聞こうか。





--------------------
1M超のバイナリファイルに何が詰まってるか疑問な人は、テキストエディタで開いてみればいいよ><

430:デフォルトの名無しさん
09/02/13 23:27:26
CUDAはコアレスと分岐の扱いを把握すれば、やりたいことは大体クリア出来ると思われ。

431:,,・´∀`・,,)っ-○◎●
09/02/14 00:05:15
結局プレディケートなんだよね。
SMあたりの命令デコーダは1基だからSP毎に別々のフローを実行することができない。

Larrabee(Ct)なら分岐は容易に表現できる。

432:デフォルトの名無しさん
09/02/14 01:58:51
>>431
プレディケードって??

433:,,・´∀`・,,)っ-●◎○
09/02/14 11:48:56
えーとね、たとえば
if (cond) {
  funcA();
} else {
  funcB();
}
なんてコードがあるとしよう。
普通のCPU向けのCだと、 cond の条件にしたがって、funcA()を実行するブロック、
あるいはfuncB()を実行するブロックにジャンプする。
すなわち命令ポインタを操作してコードを飛ぶ。

CUDAにおいてはシェーダマルチプロセッサ一つにたいし、命令デコーダは1つしかない。
にもかかわらず、condは要素ごとに変わるわけで、条件分岐先はSPごとにバラバラになる可能性がある。
んで、そこで使うのがプレディケートなわけだけど、簡単にいえば、ifとelseの両方を通るようにする。
funcAとfuncBをインライン展開して、条件ビットで選択的に実行するコードに展開する。
んで、各要素に対して、実行するか実行しない(あるいは実行結果を反映しない)かを選択的に行うわけだ。
並列度の高いプロセッサではよく使われる方法だ。

んで、こっからはこのアプローチの弱点。
問題はif-elseを何重にも組み合わせたり、switch文を多用する場合、総当たりにかかる計算時間量が
並列化によるパフォーマンスメリットを相殺し、逆に遅くなるケースもある。
並列処理を諦めて素直に要素ごとに逐次処理をさせてくれたほうがかえって効率がいいかもしれない。

しかしCUDAってそのへんの融通がきかないんだよね。基本的に【並列処理しか記述できない】から。
正確には逐次処理は専用のプリミティブなんかを使って限定的に逐次処理はやれるけど記述面では
かえって面倒になる。
GPUで不得意な処理はCPUでやれってアプローチだからそのへんの融通を利かせる気は無いらしい。

434:デフォルトの名無しさん
09/02/14 11:57:31
CUDAで困るのはその点のほかに、並列数を途中で変えられないこともあるよね。
一度ホストに処理を戻すと遅くなりかねないし、共有メモリが失われてしまうし。
私の関わっているプロジェクトでは演算処理が中心なので、ある程度融通が利いてくれないとね。

435:デフォルトの名無しさん
09/02/15 06:24:49
前にも有ったけど、条件分岐したら負け。
Crayだってそうだったじゃん。

436:デフォルトの名無しさん
09/02/15 12:43:21
CPUだとforループが多重になる部分をGPUに
丸投げすればいいんでしょ?
3項演算子程度は実行して欲しいけど

437:,,・´∀`・,,)っ-●◎○
09/02/15 16:42:36
> forループが多重になる部分

重要なのは回数であって多重かどうかはあまり関係ないです。
32の倍数であることは有る程度重要かな

一番重要なのは依存関係がないこと。
たとえばループを逆順で実行しても結果が等価であったりとかね。

240 SP(30 SM)を使えるとすれば、フルに使うには、最低960程度の演算が並列実行可能である必要があります。
ただし、全部のSMでまったく同じ処理をする必要はないです。

438:デフォルトの名無しさん
09/02/15 17:06:37
>一番重要なのは依存関係がないこと。
そうだね。そのためiCotの時も関数型言語の並列化
に七転八倒してたね。
今ならerlangで良いんじゃね? CUDAスレでこんなこと
言うのも何だけど、Cライクな手続き型言語だとどうして
もすぐに壁にぶつかってしまって、スケーラビリティが
出せない。もしくは出そうとするとプログラマの負担が
重過ぎる。
個人的には今更lispやprologに復活されたくはないけど。

439:デフォルトの名無しさん
09/02/15 17:15:56
>>438
そう、わかったよ
じゃあ俺様がCUDA用erlang処理系書いてやる

440:デフォルトの名無しさん
09/02/15 17:57:47
ループを並列処理に展開するのって自動化出来そうだけど

441:デフォルトの名無しさん
09/03/04 19:00:05
>>424
おいおい調子に乗って嘘つくな。
「簡単にできるぜ!」っとか鼻高々なのはいいけどそんなのないよ。

442:デフォルトの名無しさん
09/03/05 00:44:05
>>441
いや数値計算なら反復法とか1次連立方程式の陰解法で使えるだろ

443:デフォルトの名無しさん
09/03/05 00:59:48
また自信満々な人の嘘つき合戦ですか?

444:デフォルトの名無しさん
09/03/05 01:00:38
なんだよ微分方程式、というか積分使うのか。
積分を近似計算といっていいのか?
実用内ではあると思うけど、それもfloat(7)からdouble(16)だろ。何回ループするつもりなんだよ。

445:デフォルトの名無しさん
09/03/05 03:47:40
積分を近似計算と言ってはいけない理由がわからん。

446:デフォルトの名無しさん
09/03/05 06:23:04
数値計算なら兎も角、シミュレーション関係なら大いに有り得る話だな。
自分が知っていることが全てではないと認めることができれば世界は広がるのに。

447:デフォルトの名無しさん
09/03/05 20:24:13
他人を否定することでしか自分を正当化できない、ということか。

448:デフォルトの名無しさん
09/03/05 21:39:34
>>447
数値計算と近似計算の違いを教えてくれませんか?

449:デフォルトの名無しさん
09/03/06 04:35:50
>>448
1+1=2となるのは、数値計算ではあるが近似計算ではない。

450:デフォルトの名無しさん
09/03/06 08:57:12
CUDA 2.1 Notebook Drivers for Windows
URLリンク(forums.nvidia.com)

βだけども

451:デフォルトの名無しさん
09/03/06 14:44:51
>>446
とすると、貴方の世界ではシミュレーションとは近似計算をしてるってことですか?

452:デフォルトの名無しさん
09/03/06 15:05:56
物理にしろ確率モデルにしろコンピュータシミュレーションは近似計算だろ

453:デフォルトの名無しさん
09/03/06 15:08:22
整数演算は近似計算ではありません。

454:デフォルトの名無しさん
09/03/06 15:15:06
approximationの意味分かってるの

455:デフォルトの名無しさん
09/03/06 15:38:46
なんかめんどくさそうな人がいっぱいいますね。
どうでもいいですが、早いところストリーム用のプログラミング手法を確立して、ストリームに特有な技法を紹介する本を出してくださいな。

456:デフォルトの名無しさん
09/03/06 16:26:22
どうして煽りを入れる人ほど知識が足りないんだろう?


457:デフォルトの名無しさん
09/03/06 17:11:04
>>456
知識が足りないから煽るじゃないですかね?
そういう低脳な人は「煽ることしか出来ないよね」っとも言いますけど。
そんなことどうでもいいんで「ストリームんグ・プログラミング技法」とかいうブログを早く作ってくださいな。

「approximationの意味分かってるの」とかめんどくさそうな人との議論とかいかめしい顔した人が言う哲学に興味はないんで。

458:デフォルトの名無しさん
09/03/06 17:14:51

低脳な人の煽りの見本

459:デフォルトの名無しさん
09/03/06 18:03:55
458 名前: デフォルトの名無しさん [sage] 投稿日: 2009/03/06(金) 17:14:51

低脳な人の煽りの見本

460:デフォルトの名無しさん
09/03/06 19:56:54
プログラム板なんだから少しはプログラム出せって

461:デフォルトの名無しさん
09/03/06 20:18:50

低脳な人の煽りの見本

462:デフォルトの名無しさん
09/03/06 20:40:17

低脳な人の煽りの見本


463:デフォルトの名無しさん
09/03/06 20:41:28
>>448
1+1=2となるのは、数値計算ではあるが近似計算ではない。

464:デフォルトの名無しさん
09/03/06 22:21:12
VIPのまとめWikiに書いたこともあるが、今はネタがない。

あーそうそう、x16バスに繋がった8800GTの方がx8バスに繋がったGTX280よりも速かったってこと位か。
但し、転送量が多目の用途だからだとは思うが。

465:,,・´∀`・,,)っ-○◎●
09/03/06 22:22:16
VIPPERプログラミングスレの派生なのかここ?

466:デフォルトの名無しさん
09/03/06 22:23:45
大丈夫、私はvipには書いていないw
でも何故かまとめWikiには複数投稿している罠。

467:デフォルトの名無しさん
09/03/07 02:00:17
自分が知らない事はWeb見て知ったかぶらないで馬鹿げたレスする暇で
amazonで本の一冊でも買えばいいのに。

ところでCUDAで性能だすためのまとまった日本語の文書ないかな?

468:デフォルトの名無しさん
09/03/07 02:22:11
そもそもCUDAに関して有用な日本語資料がなくね?
公式でさえ日本語マニュアルはあんなだったし。

469:,,・´∀`・,,)っ-●◎○
09/03/07 02:25:00
大丈夫、英語資料すらろくなのないから。


470:デフォルトの名無しさん
09/03/07 02:30:32
やはり本家のドキュメントにあたるしかないのか。
めんどくせー。環境の開発もいいけどドキュメントの整備も力入れてほしいわ。

471:,,・´∀`・,,)っ-●◎○
09/03/07 07:18:34
逆に日本語ドキュメントがあっても大して意味無いよ。
IntelのプログラミングマニュアルなんていまだにPentium 4のことしか書いてないぞ。
日本法人仕事しなさすぎる。

CUDAを勉強するより前に英語アレルギーを克服したほうが何かと良くなるかも。



472:デフォルトの名無しさん
09/03/07 07:55:47
英語アレルギーってなに?

473:デフォルトの名無しさん
09/03/07 08:25:11
そう言いたくなるくらい、英語から目を背ける人は世の中に意外と多い。

474:デフォルトの名無しさん
09/03/07 08:45:27
俺の場合英語と日本語だと読むスピードが10倍~100倍違うorz.



475:デフォルトの名無しさん
09/03/07 11:19:36
母国語でないと読むスピードが遅いだけじゃなく小さなとこで思い
違いがでてきて結局後からまた参照したりして嫌だ。

476:デフォルトの名無しさん
09/03/07 11:23:45
技術的文書に機械翻訳はどの程度通用するんだろ。奇想天外な訳になってしまうのかな。連投スマソ


477:,,・´∀`・,,)っ-●◎○
09/03/07 11:41:59
英文学読めって言ってるんじゃないんだし、書ける・話せるも別問題。
技術ドキュメントの英語なんて、有る程度形式ばった言い回ししかやらないので
単語を摘み出すだけでも回数を重ねればそこそこ意味はわかるようになると思う。

慣れてくれば技術系ニュースサイトとかも読んでみたり。

478:デフォルトの名無しさん
09/03/07 11:51:27
だんごさんはどーゆーサイトみてますか
スレ違い申し訳ない

479:,,・´∀`・,,)っ-●◎○
09/03/07 12:17:36
Intelの開発者ブログとかRSSに入れてる

480:デフォルトの名無しさん
09/03/07 22:13:23
団子はGPGPU嫌いなんじゃなかったの?

481:,,・´∀`・,,)っ-○◎●
09/03/07 22:18:46
逆に、好きな奴いるのか?
非生産的で変態だけど性能のために仕方なく使う類のモノだろ

482:デフォルトの名無しさん
09/03/07 22:22:35
おれもGPGPUなんて嫌いだな。
開発したことあるけどPSシリーズも大嫌い。

483:,,・´∀`・,,)っ-●◎○
09/03/08 08:31:15
x86でいうMMX/SSEって、分岐が除去できるとか直列方向のパフォーマンスメリットがあった。
GPGPUって並列方向のスループットありきで、ホスト側のコードでお膳立てしてやらないといけない。


484:デフォルトの名無しさん
09/03/08 19:46:25
>非生産的で変態だけど
それってintelアーキのことじゃん。昔からずっと言われ続けてることだが。
mc68kやsparc,mipsの方がよっぽど素直に書ける。

けど市場規模のために仕方無く使わされてる。

485:デフォルトの名無しさん
09/03/08 20:10:12
アセンブラはmc68とx86しかやったことないけど、
mc68はかきやすかったな~。

欲を言えば16本すべて汎用レジスタだったらよかったんだけどw

486:,,・´∀`・,,)っ-●◎○
09/03/09 01:10:52
>>484
あー?
メモリアドレッシングモードが貧弱すぎるんだけどー?
まじうけるー?
パネェっすよ

487:デフォルトの名無しさん
09/03/09 01:20:53
インテルに慣れきってるとそう思うかもね。
どうせ団子はインテル一筋なんだろ?w

488:,,・´∀`・,,)っ-●◎○
09/03/09 02:18:43
> mc68とx86
その時代だと8086だろ。「x86」って基本的に32ビット以降のことを言うと思うんだけど。
32ビットだとぜんぜん自由度が違うっしょ。セグメントなんて使わなくていいし。
4GBの論理メモリ空間をリニアにアドレッシングできるし。
んで、案の定ローエンドサーバだけにとどまらずHPCもx86に惨敗して虫の息じゃないか
古くからあるRISCなんて。
MIPSも組み込みに逃げたけどARMに食われたね。

それはともかくSSE・MMXも経験ない男の人がCUDAなんて・・・




さて、CUDAの話なんだけど、基本的に最小の演算単位は32ビット×32のSIMDで
メモリロード・ストアも、各要素ごとに計算してscattering/gathering機構付きの
ロード・ストアユニットで、
このへんはCUDAのアーキテクチャマニュアルにも載ってる通り。

従来SIMDって基本的に連続的に並べないと性能出ないけど、
CUDAは動的にベクトルを再構成することで、一気に柔軟性が向上した。

逆にこの強力なロード・ストアユニットを載せたせいで、連続したデータに対する
ロードストアの効率が悪くなってね。
一時変数をどっかに置いとこうとした場合にも、32要素ごとにバラバラにアドレスを計算する
scattering/gathering機構つきのロード・ストアユニットに通す羽目になる。
これじゃエネルギー効率的にもよくないでしょ。

んで、レジスタにそのまま保持すればいいじゃないってことで、それで
1つのシェーダコアあたりのレジスタファイルが、32KBとか64KBみたいな巨大なことになってる。
それにしても一般のCPUのL1キャッシュよりレイテンシの大きいレジスタファイルって一体・・・

489:デフォルトの名無しさん
09/03/09 02:50:28
団子の脳みそがx86のアーキテクチャで凝り固まってて、現代風のプログラミングパラダイムについて来れないってことだろ。
あと10年もすればおまえの持ってる小手先業などは博物館の展示資料でしかないし、おまえの能書きなど頑固オヤジの戯言同じなるだろう。
インテルのブログで洗脳されまくっちゃうのもいいけど、アーキテクチャマニュアル云々よりも団子が頭の切り替えをできるかどうかのほうが問題なんじゃないの?

490:デフォルトの名無しさん
09/03/09 02:57:29
現代風のプログラミングパラダイムって何だ?

491:,,・´∀`・,,)っ-●◎○
09/03/09 03:33:26
斜め上をいく愚言に感謝する。

しかしながらscattering/gatheringによる柔軟なアクセスはSIMDの新時代を切り拓くものだ。
実際Intelも2~3年先のSIMD拡張では256ビット、512ビットと幅が広くなってるため、
AoS/SoAの変換をいかに効率よくこなすかがテーマになってくる。
(ちなみにLarrabeeにはscatter/gather命令そのものを導入する)

このへんはむしろCISC的なプロセッサの美学だと思うがね。
AltiVecとかCellのSPEでなら何十命令かかる命令を1命令でこなす。
1クロックサイクルスループットでこなせない命令を実装しないのがRISCだろ。
モダンなCPUではパイプラインの前半部分のほうがALU自体よりもコストがかかるしまってるから
それで処理単位がリッチなCISCのほうが効率がよくなってるわけさ。
このへんは スレリンク(i4004板:76番)あたりと同意見

しかしさ、16要素とか32要素とか、全部バラバラのアドレスだとしてみ?
とてもワーストケースで要素数分だけメモリアクセスが必要だぜ。
RISCの守備範囲じゃねーよ

んで、個人的にCUDAの問題は、scatter/gatherスカラ命令を備えないことなんだよね。
常に32並列単位で演算しないといけない。それで小回りがきかない。
スカラレジスタでアドレス指定するベクトル単位のロード・ストアと
scatter/gather
Larrabeeあたりがまさにこれをやってるわけだが。

> あと10年もすればおまえの持ってる小手先業などは博物館の展示資料でしかないし、おまえの能書きなど頑固オヤジの戯言同じなるだろう。

残念だが俺は流行りものの言語・フレームワークには目がない。
Ruby On Railsとか大好きだし。むしろ高級言語をより効率的に使うためにマシン語レベルで理解する必要があるんだよ。
たとえばさ、LLって性能的にはネイティブマシン語より遅いから、LL向けのJITコンパイラ書きたいとするじゃん。
どうしてもアセンブラの知識は必要なんだよね。もちろん業務じゃないよ。
ということでプロ高級言語er、趣味マシン語er
それでARM語もx86語もそれなりにたしなんでおきたいわけ。

492:,,・´∀`・,,)っ-●◎○
09/03/09 03:37:32
○んで、個人的にCUDAの問題は、スカラ命令を備えないことなんだよね。


493:デフォルトの名無しさん
09/03/09 03:52:38
頑固オヤジの戯言ごとと同じになるだろう。

ニート相手に5行も書くの面倒だから誤字脱字なおすのも面倒だよな。
「CISC的」とかいう概念がもう古いパラダイムってこと。
おまえみたいな純粋な「消費者」の戯言などどうでもいいけど、ストリームなのに128/256bits単位とか全く鼻糞だろ。
ストリーム演算やってるのに、「スカラ演算もやりたい!」「アドレッシング!」という考え自体を改めたほうがいいと思うけどね。

どうでもいいけど、ストリーミング・プログラミングの小技を集めたブログをはよ作ってよ。
C#だとスニペットというんだったか?そういうイディオム集みたいのでもいいから。

494:,,・´∀`・,,)っ-●◎○
09/03/09 03:59:04
Intelの中の人のブログって言っても、本当に自社製品のプログラミングがらみの話題って
月に1回出るかどうかのレベルだぜ
次期Windowsの話題だったり、XMLやLLなんかのWebまわりの技術がどうこうだったり。
中の人の興味のあることが書いてあるって感じだけど、頭の悪い技術系ゴシップサイト
よりはよっぽど為になる。さすが半導体総合メーカーだわって思うわ。

NVIDIAのニュースも購読してたけど本当に自社製品向けのコンピュータグラフィックスのノウハウとか
グラフィックよりの物理演算が中心で、そっち方面はそんなに深入りする気はないので読む価値なしと。
(そっち方面で食ってる人ごめんなさいね)


495:,,・´∀`・,,)っ-●◎○
09/03/09 04:01:57
>>493
> どうでもいいけど、ストリーミング・プログラミングの小技を集めたブログをはよ作ってよ。
> C#だとスニペットというんだったか?そういうイディオム集みたいのでもいいから。
プププププ


496:,,・´∀`・,,)っ-●◎○
09/03/09 04:11:02
ソースコード例文をいんたーねっつで検索してきてコピペをするのが
プログラミングだと思ってる人はそう言うのに本質を求めるよね。
いや、いいんだけどね。
俺とて業務では最高級の言語から低級言語で書かれたライブラリを使わせてもらってる立場だし。

497:,,・´∀`・,,)っ-●◎○
09/03/09 04:43:49
ちなみにマルチコアとかSIMDを使いこなして最適化コード書いたりできる人間は稀少性があるから
長い目でみれば食いっぱぐれしないよ。

今でこそ団塊COBOLerの後釜需要があったりするくらいだし
(徐々にJavaや.NETに置き換わってるので将来性を考えれば微妙だが)

自動並列化ランタイム環境使えばいいとか言うだろ?
そう言う考えの三流プログラマは食いっぱぐれる。間違いなく。
じゃあその並列化ランタイムは誰が書くんだと。書きもしないのに沸いてくるのかと。
最近流行のJavaScriptのJIT部分のコードでも見てみればいい。各CPU用のバイトコードの山だ。

その点、覚えさせれば小学生でも出来るような、コードをコピペして貼り合わせる能力なんて誰が評価するんだよ。
知識が無いと難しい作業こそ高い市場価値がある。

CUDAはまだ市場として育ってないがな。とがってる分、苦手なことが多すぎて。

498:デフォルトの名無しさん
09/03/09 05:31:36
俺の団子が火を吹くぜ!

499:,,・´∀`・,,)っ-○◎●
09/03/09 05:54:25
っていうか、電子の移動度の限界とか云々でクロックが上がらないのでフリーランチ終焉、
SIMDやマルチコアを明示的に使いこなさないと性能出ませんよ
これ以上1スレッドの負荷の重たいソフト書くなよ、なんて、何年も前から言われてることなのに
「価値がなくなる」だとか何を妄言はいてるんだか。
10年後に100GHzとか200GHzとかいくのかよ。
数十コアとか数百コアになって最適化屋の需要拡大することはあっても、縮小することなんてねーよ

要するにSIMD・マルチコア使いは10年先もナウい。パネェ

500:デフォルトの名無しさん
09/03/09 06:07:53
最適化できる奴は別にたくさん要らないよなぁ・・・
結局ライブラリ作って終わりだし。
そういうライブラリがなかったり高額だったら、誰も使わないからあまり流行らないわけで、どんどん忘れ去れていく技術なだけだしなぁ・・・
GPUとは関係ないけど、MSの提唱してる技術とかかなり不発が多くて流行らずに忘れ去れてるの多いでしょ。
(スカラの)マルチコアとライバル関係だけど、運が悪いとGPU(ストリーム)の方が流行らずに終わってしまうことだってある。PCってのはそういう世界だったよな。
どうでもいいけど人柱がんばってよ

501:,,・´∀`・,,)っ-○◎●
09/03/09 06:10:54
せいぜいコードコピペで済む単発案件こなしてなよ
希少価値のある技術には見えないがね。

どっちかというとコピペプログラミングこそ自動化できそうだけどなぁ
お絵かきツールだけでプログラムのフロー書くASTERIAみたいなツールも出てきてるし

502:,,・´∀`・,,)っ-○◎●
09/03/09 06:52:27
既にゲーム業界では下っ端レベルからそういう技術が要求されるようになってるけどね
PS3とか360やってるところなら半ば強制だぜ
脳天気でいられるのは高級言語屋とローエンド組み込みCPUソフト技術者くらい

CUDAは流石に今のポジション以上の普及はないと思うよ
「汎用」ってものをわかってない。

503:,,・´∀`・,,)っ-○◎●
09/03/09 07:00:18
GPGPUの【GP】に関してならLarrabeeに食われるだろうね。
たとえば普通のCを使うとして、たとえばtime.hすら使えないのがCellのSPEなら
CUDAはそれ以前の問題だし

504:デフォルトの名無しさん
09/03/09 07:01:11
スニペットとかコピペってのは、結局コードのモジュール化ってことでしょ。
オブジェクト指向による再利用促進とも言うけど、それは時代の流れって言うよりもう当たり前じゃないのか?
IDEとか便利だし、かゆいところは自分でコード書けばいいんじゃないか。
今の時代、30分で作れるのに一からメモ帳作る奴はよっぽどバカでしょ。

505:デフォルトの名無しさん
09/03/09 07:03:23
ああ抜けてた。

コピペって簡単に言うけど、典型コードの再利用なわけでだからこそメモ帳アプリが30分で作れる威力があるんだけど。

506:デフォルトの名無しさん
09/03/09 07:05:53
そういえば、ム板でコテ名乗ってるのは団子ぐらいしかいないよね?他にいるの?

507:,,・´∀`・,,)っ-○◎●
09/03/09 07:23:14
>>504
コピペの単純工程をやるプログラマもいれば
ライブラリを書くプログラマもいるわけで

法律事務所のアルバイトと弁護士くらいの格差は出てくるかもね
いや、既に出来てるか

508:デフォルトの名無しさん
09/03/09 09:07:28
>>505
使い回しでメモ帳に30分ってかかりすぎだろ。3分でやれよ。
テキストコントロール配置してファイル読み書き機能付けるだけで終わりだろ
IDEの雛形だけでほぼ完成なんだからさ

それともGREP機能でも搭載するのか?

509:デフォルトの名無しさん
09/03/09 09:12:15
30秒だろ

#include <stdlib.h>
int main(void) { system("notepad.exe"); return 0; }


再発明する価値もない。

510:デフォルトの名無しさん
09/03/09 09:20:05
無いものを作る、あるいは既にあるものをより良くすることに知的労働の価値があるわけで
劣化コピーの再発明で金とるなど馬鹿の所業だろ。

511:デフォルトの名無しさん
09/03/09 09:42:01
>>509
ワロタw

512:デフォルトの名無しさん
09/03/09 10:28:29
30分で作れる程度のエディタなんて誰も使いたくないな

513:デフォルトの名無しさん
09/03/09 12:06:54
なんでおまえらはそのうちいい情報を提供してくれそうな人を叩くんだよ

514:デフォルトの名無しさん
09/03/09 12:13:14
いい情報を提供するのが自分じゃないと気がすまないからさ。
そのために全体が遅延しても問題なし。

515:デフォルトの名無しさん
09/03/09 12:28:58
CUDAは既存の一握りのプログラムの再発明のためデバイス・言語処理系だろ。
性能はともかく効率CUDAでできることは普通のCPUでもできる。
より高いスループットを得るためにこそある。
プログラミング対象を選ぶし、性能を出すには工夫がいる。

テキストエディタの話じゃないけど、生産性を言い訳にして自分で創意工夫が出来ない奴には不向き。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch