0
私はcaffeプログラムでcudnnアクセラレーションを使用しています。 私はcudnn 4を使い始めました。うまくいきましたが、cudnnをバージョン5.0にアップデートしても、pow関数は動作しません。 呼び出し元の関数はcaffe cudnn version 4&5
caffe_gpu_powx(variance_.count(), variance_.gpu_data(), Dtype(0.5), variance_.mutable_gpu_data());
としてbatch_norm層である、呼び出し後のデータは変更されません。 POW関数は私はTITAN Xで始まるでコード生成する「compute_52、sm_52」を設定したミスを犯し
template <typename Dtype>
\__global__ void powx_kernel(const int n, const Dtype* a,
const Dtype alpha, Dtype* y)
{
CUDA_KERNEL_LOOP(index, n)
{
y[index] = pow(a[index], alpha);
}
}
template <>
void caffe_gpu_powx<float>(const int N, const float* a,
const float alpha, float* y) {
// NOLINT_NEXT_LINE(whitespace/operators)
powx_kernel<float><<<CAFFE_GET_BLOCKS(N), CAFFE_CUDA_NUM_THREADS>>>(
N, a, alpha, y);
}
その設定は意味をなさない。 CUDNNでは、実行するには計算能力> = 3.0のデバイスが必要です。実際にどのデバイスを実行しようとしていますか? – talonmies