2013年10月25日

nautilus

CentOSの6.3だと,ユーザの切替が出来るんですけど,5以前だと切り替えできずログオフしないといけません.

で,通常アカウントからRootとかUser内のフォルダコピーとかする場合の話です.
Commandなら当然出来るんですが,ディレクトリ構造とかパスミスとかで変な場所に作ってしまったり面倒だったりするじゃないですか.
その点,GUIならマウスでちょちょいと出来るんでGUI万歳的な.


普通に,sudo nautilusと打つと,Gnomeみたいなエクスプローラが出てきます,root権限で.

ここで,su−>nautilusとすると,gconfdエラーが発生しました.
なんか,gconfdの場所がroot化することによって参照場所が変わったからの様子.

ついつい忘れちゃうのでメモ.
posted by にゃんこ at 13:59| Comment(0) | TrackBack(0) | Linux

2013年10月13日

-maxrregcount= とComputeCapability

-maxrregcount=128でコンパイルしても,63個しかRegisterに使って貰えなくて,スピルしちゃってた現象を解決したのでメモ.原因は,ComputeCapabilityでした.

・使用できる最大Register数/Blockはデバイス毎に異なるので,コンパイル時に-maxrregcount=32とかで制限をかける場合があります.

・カーネル関数内のローカル変数は,基本的にRegisterに確保されます.が,Registerは使い回しされるので,ローカル変数の数だけ作られるわけではないらしい.あと,double(64Bit)は,二つのRegisterに分割されるらしい,多分.
・-maxrregcount=Nとした場合,N以上Registerを使えないので,それ以上使おうとした場合にはローカルメモリに待避させる=Registerspill.RAMからHDDへのスワッピングの様に,Register(キャッシュメモリ)からスピル(あふれ出た)ものをローカルメモリ(100Clock)にStore/Loadしてるんでしょう,多分.


ってことで,ローカル変数を少なくしてthreadを多くすればいいんですが,どうしてもRegisterを減らせないときもあるんですよね.
で,Registerを128以下にしようと思ったのに,63個までしかコンパイルできなかったわけです.
Maximum number of 32-bit registers per thread(thread当たりの最大Register数)は,ComputeCapabilityが1.xでは128個,2.xと3.0では63個,3.5では255個だったのです.なぜか2.xと3.0では減ってるんですよね.
なので,3.5でコンパイルしました.
posted by にゃんこ at 19:27| Comment(0) | TrackBack(0) | CUDA C