CUDA

【CUDA】Warp Sum & Warp Scan

Warp Sum 各Warpの持つ値の合計を計算する。 例:[1, 2, 3, 4] -> [10, 10, 10, 10] for (int i = 1; i < warpSize; i *= 2) value += __shfl_xor(value, i); Warp Scan 各Warpの持つ値の累積を計算する。 例:[1, 2, 3, 4] -> [1, 3, 6, 10] for (int i = 1…

CUDAのハッシュテーブル CUDPP編

インストール まずCUDPPのインストール手順です。事前にcmakeのインストールが必要です。 $ git clone -b 2.2 https://github.com/cudpp/cudpp.git $ cd cudpp $ git submodule init $ git submodule update $ mkdir build && cd build $ cmake .. $ make $ …

【CUDA】カーネル内での動的メモリ確保

デバイス上のメモリは、ホストからのcudaMalloc()で確保するのが通常だが、 カーネル内で動的にメモリ確保することもできる*1。 カーネル内での動的メモリ確保には、C/C++と同じようにmalloc()/free()、new/deleteが使える。 __global__ void testKernel() {…

NVIDIA Jetson TX2を買ったのでセットアップ

届きました! 意外と大きいです。一辺20cmくらいでしょうか。 ディスプレイ(HDMI)、キーボード、マウス、電源を接続します。USBポートは一基しかないので、キーボードとマウスを両方接続する場合は USBハブを使うか、付属のMicroUSB-USB変換ケーブルを使い…