現在地 >> メニュー >> CUDA >> CUDA::デバイス
関連CUDA::基本編02

問題1


デバイス数を取得し表示せよ。

答え

//cutil32.lib cudart.libが追加依存ファイル
#include <iostream>
#include <cutil.h>

//-------------- 各種関数 -----------------//
void PRINT_DEVICE_NUM()
{
	int device_num;
	cudaGetDeviceCount(&device_num);
	std::cout << "ビデオカードの数 : " << device_num << "\n";
}

//------------- メイン関数 --------------------//
int main(int argc, char **argv)
{

	CUT_DEVICE_INIT(argc,argv); //初期化(cuda2.0は引数が必要)

	PRINT_DEVICE_NUM();//デバイス数を表示

	CUT_EXIT(argc, argv);//終了

	return 0;
}




問題2


cudaDeviceProp型を用意しデバイスの情報を取得し、
その情報をいくつか表示せよ。

答え

//cutil32.lib cudart.libが追加依存ファイル
#include <iostream>
#include <cutil.h>

void PRINT_DEVICE_INFO(const cudaDeviceProp &dev_info);

int main(int argc, char **argv)
{

	CUT_DEVICE_INIT(argc,argv); //初期化(cuda2.0は引数が必要)

	/* 0番目のデバイス情報を取得 */
	cudaDeviceProp dev_info;
	CUDA_SAFE_CALL(cudaGetDeviceProperties(&dev_info, 0));
	PRINT_DEVICE_INFO(dev_info);

	CUT_EXIT(argc, argv);//終了

	return 0;
}


//------------- ここから各種関数 ----------------//
void PRINT_DEVICE_INFO(const cudaDeviceProp &dev_info)
{
	std::cout<<"ビデオカード名 : "<< dev_info.name <<"\n";
	std::cout<<"GPUの総メモリ数 : "<<dev_info.totalGlobalMem/1024/1024<<" MB\n";
	std::cout<<"各ブロックに割り当てられる最大 shared memory : "<<dev_info.sharedMemPerBlock/1024<<" KB\n";
	std::cout<<"1ブロックあたりの最大スレッド数:"<<dev_info.maxThreadsPerBlock<<"\n";
}

メモ


より詳しくは、「deviceQuery.cu」参照

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます