最終更新:
mikk_ni3_92 2008年11月03日(月) 16:04:11履歴
現在地 >> メニュー >> CUDA >> CUDA::基本編06 >> CUBLAS::データ設定 >> CUBLAS::行列
データのコピーや取得には、「cublasSetMatrix()」、「cublasGetMatrix()」関数を使う。
[例]
■cublasStatus CUBLASAPI cublasSetMatrix (int rows, int cols, int elemSize,
const void *A, int lda, void *B,
int ldb);
GPUへの2次元のデータコピーを行う。
■cublasStatus CUBLASAPI cublasGetMatrix (int rows, int cols, int elemSize,
const void *A, int lda, void *B,
int ldb);
GPUにあるの行列データ取り出す
引数は、「cublasSetMatrix()関数参照」
サンプルコード >> CUDA::基本編06まとめ2
データのコピーや取得には、「cublasSetMatrix()」、「cublasGetMatrix()」関数を使う。
[例]
//(y×x) = (3×4)
float host[3][4]=
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
};
... ...
float *gpu; //GPUメモリ格納用
float *FromGpu = new float[9];
//row:y col:x
cublasSetMatrix(3,4,sizeof(float),host,4,gpu,4); //GPUへコピー
cublasGetMatrix(3,3,sizeof(float),gpu,4,FromGpu,3);//一部をCPUへコピー
■cublasStatus CUBLASAPI cublasSetMatrix (int rows, int cols, int elemSize,
const void *A, int lda, void *B,
int ldb);
GPUへの2次元のデータコピーを行う。
- rows:縦方向の要素数
- cols:横方向の要素数
- elemSize:1要素あたりのバイト数
- A:データ元
- lda:行列Aの1行あたりの次元数(横方向の要素数の数)
- B:コピー先
- ldb:行列Bの1行あたりの次元数(横方向の要素数の数)
■cublasStatus CUBLASAPI cublasGetMatrix (int rows, int cols, int elemSize,
const void *A, int lda, void *B,
int ldb);
GPUにあるの行列データ取り出す
引数は、「cublasSetMatrix()関数参照」
サンプルコード >> CUDA::基本編06まとめ2

