タグ

ブックマーク / fjnl.hatenadiary.org (3)

  • 夏休みなのでbjam始めてみます 1日目 - fjnlの生存記録のような何か

    bjamが欲しいので、まずはboostをダウンロードして展開し、bjamをビルドします。そして、boostを展開したディレクトリをBOOST_ROOT環境変数に定義しておきます。BOOT_ROOTはbjamの動作上も必要です。 $ export BOOST_ROOT=/path/to/boost $ cd $BOOST_ROOT $ ./bootstrap boost 1.47.0からbootstrapで作成されるbjamの実行ファイル名が、"bjam"と"b2"の2つになっています。1.47の段階ではこれらのファイルの内容は同一で単なるコピーのようですが、以降はbjamで統一します。 Mac環境で、Appleによって提供されていないgccを使う場合は、以下の修正を行う必要があります。(例えばMacports) -no-cpp-precompというオプションはAppleのgccにしか存在し

    夏休みなのでbjam始めてみます 1日目 - fjnlの生存記録のような何か
  • CUDAでFunctorを使う 捕捉 - fjnlの生存記録のような何か

    CUDAでFunctorを使う - fjnlの生存記録のような何かに対する捕捉です。 当初、CUDAはデバイスコードへのパラメータをshared memory経由で渡していました。しかし、Compute Capability 2.0*1からはconstant memory経由で渡されるように変更されています。shared memoryに比べればconstant memoryは容量に余裕がある事が多いため、これは嬉しい変更であると思います。 さて、メンバのないfunctorは、以下のようにPTX上では1バイトの変数として扱われています。Compute Capability 2.0以前向けのコードでshared memoryをカツカツに使っている場合には、functorを使いたくても使えないという場合があるかもしれません。(レアケースすぎるかなぁ…) .param .align 1 .b8 _

    CUDAでFunctorを使う 捕捉 - fjnlの生存記録のような何か
    mEGGrim
    mEGGrim 2010/11/22
  • [CUDA] GPUデバイスからprintfする - fjnlの生存記録のような何か

    CUDA Toolkit 3.1からデバイスからprintfを発行できるようになりました.ただし,Device Capability 2.0以降のデバイスでなければサポートされていないので,GTX480といったいわゆるFermiアーキテクチャのカードが必要です. #include <stdio.h> __global__ void test() { printf("Hello world from %d of %d\n", threadIdx.x, blockDim.x); } int main() { test<<<1, 32>>>(); cudaThreadSynchronize(); return 0; } printfが使えるようになったとはいえ,CPUのように使うわけにはいきません.制限事項については,CUDA Programming ManualのB.14のFormatted

    [CUDA] GPUデバイスからprintfする - fjnlの生存記録のような何か
    mEGGrim
    mEGGrim 2010/11/22
  • 1