The following errors come out and I am in trouble.
1>カスタム ビルド ステップを実行しています。
1>tmpxft_00001c3c_00000000-11.i
1>カスタム ビルド ステップを実行しています。
1>tmpxft_000019bc_00000000-11.i
1>カスタム ビルド ステップを実行しています。
1>tmpxft_00001bc4_00000000-11.i
1>カスタム ビルド ステップを実行しています。
1>“hostApplyFilterBank.cu”, line 35: error: call can not be configured
1> devApplyFilterBankKernel<<< grid, threads, mem_size >>>(d_sigmas, d_hTap, d_h, d_x);
1> ^
1>1 error detected in the compilation of “C:\DOCUME~1\gorn\LOCALS~1\Temp/tmpxft_00001184_00000000-6.ii”.
1>ビルドログは “file://c:\Home\gorn\Develop\Application\GPGPU\FilterBank\Debug\BuildLog.htm” に保存されました。
1>template - エラー 1、警告 0
#include “FilterDefinition.h”
#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
#include <math.h>
#include <math_constants.h>
#include <cutil.h>
#include “devFilterBank.h”
void hostApplyFilterBank(FilterDefinition* fd, float* h, int n, float* x, float* y) {
CUT_DEVICE_INIT();
int* d_hTap;
float *d_h;
float *d_x;
float *d_sigmas;
float *sigmas;
sigmas = (float *)malloc(sizeof(float) * NUM_THREADS);
CUDA_SAFE_CALL(cudaMalloc((void**)&d_sigmas, sizeof(float) * NUM_THREADS));
CUDA_SAFE_CALL(cudaMalloc((void**)&d_x, sizeof(float) * (2 * fd->hTap + 1)));
CUDA_SAFE_CALL(cudaMalloc((void**)&d_h, sizeof(float) * (fd->hTap + 1)));
CUDA_SAFE_CALL(cudaMalloc((void**)&d_hTap, sizeof(int)));
int mem_size = sizeof(float) * NUM_THREADS + sizeof(float) * (2 * fd->hTap + 1) + sizeof(float) * (fd->hTap + 1) + sizeof(int);
dim3 grid( 1, 1, 1);
dim3 threads( NUM_THREADS, 1, 1);
CUDA_SAFE_CALL(cudaMemcpy(d_h, h, (fd->hTap + 1), cudaMemcpyHostToDevice));
*d_hTap = fd->hTap;
for(int t = 0; t < n; t++) {
CUDA_SAFE_CALL(cudaMemcpy(d_x, &(x[t]), sizeof(float) * (2 * fd->hTap + 1), cudaMemcpyHostToDevice));
devApplyFilterBankKernel<<< grid, threads, mem_size >>>(d_sigmas, d_hTap, d_h, d_x);
CUT_CHECK_ERROR("Kernel execution failed");
CUDA_SAFE_CALL(cudaMemcpy(sigmas, d_sigmas, sizeof(float) * NUM_THREADS, cudaMemcpyDeviceToHost));
float z = 0.0F;
for(int k = 0; k < NUM_THREADS; k++) {
z += sigmas[k];
}
y[t] = z;
}
CUDA_SAFE_CALL( cudaFree( (void**) &d_hTap ));
CUDA_SAFE_CALL( cudaFree( (void**) &d_h ));
CUDA_SAFE_CALL( cudaFree( (void**) &d_x ));
CUDA_SAFE_CALL( cudaFree( (void**) &d_sigmas ));
free(sigmas);
}