Computer Science #include #include __global__void process_kernel1(float *input1,float *input2,float *output,int datasize){ int idx = threadIdx.x + blockIdx.x * blockDim.x; int idy = threadIdx.y + blockIdx.y * blockDim.y; int idz = threadIdx.z + blockIdx.z * blockDim.z; int index = idz * (gridDim.x * blockDim.x) * (gridDim.y*blockDim.y) + idy * (gridDim.x * blockDim.x) +idx; if(index>>(input1,input2,output,datasize); cudaDeviceSynchronize(); dim3 threadsPerBlock2(8, 8, 2); dim3 blocksPerGrid2(2,datasize/(8*8*2), 1); process_kernel2<<>>(output,input,datasize); cudaDeviceSynchronize(); dim3 threadsPerBlock3(128, 1, 1); dim3 blocksPerGrid3(datasize/128, 1, 1); process_kernel3<<>>(input,output,datasize); cudaDeviceSynchronize(); cudaFree(input1); cudaFree(input2); cudaFree(input); cudaFree(output); return 0; } I am finding these error File "", line 4 process_kernel1(float *input1,float *input2,float *output,int datasize){ ^ SyntaxError: invalid syntax. Perhaps you forgot a comma? why ? can you correct it?
Computer Science
#include<cmath>
#include<stdio.h>
__global__void
process_kernel1(float *input1,float *input2,float *output,int datasize){
int idx = threadIdx.x + blockIdx.x * blockDim.x;
int idy = threadIdx.y + blockIdx.y * blockDim.y;
int idz = threadIdx.z + blockIdx.z * blockDim.z;
int index = idz * (gridDim.x * blockDim.x) * (gridDim.y*blockDim.y) + idy * (gridDim.x * blockDim.x) +idx;
if(index<datasize)
output[index] = sinf(input1[index]) + cosf(input2[index]);
}
__global__void
process_kernel2(float *input,float *output,int datasize){
int idx = threadIdx.x + blockIdx.x * blockDim.x;
int idy = threadIdx.y + blockIdx.y * blockDim.y;
int idz = threadIdx.z + blockIdx.z * blockDim.z;
int index = idz * (gridDim.x * blockDim.x) * (gridDim.y*blockDim.y) + idy * (gridDim.x * blockDim.x) +idx;
if(index<datasize)
output[index] = logf(input[index]);
}
_global__void
process_kernel3(float *input,float *output,int datasize){
int idx = threadIdx.x + blockIdx.x * blockDim.x;
if(index<datasize)
output[idx] = sqrtf(input[index]);
}
int main(void){
int datasize = 128*128*8;
float *input1, *input2, *input,*output;
cudaMallocManaged(&input1, datasize*sizeof(float));
cudaMallocManaged(&input2, datasize*sizeof(float));
cudaMallocManaged(&input, datasize*sizeof(float));
cudaMallocManaged(&output, datasize*sizeof(float));
dim3 threadsPerBlock1(32, 32, 1);
dim3 blocksPerGrid1(4, 2, 2);
process_kernel1<<<blocksPerGrid1,threadsPerBlock1>>>(input1,input2,output,datasize);
cudaDeviceSynchronize();
dim3 threadsPerBlock2(8, 8, 2);
dim3 blocksPerGrid2(2,datasize/(8*8*2), 1);
process_kernel2<<<blocksPerGrid2,threadsPerBlock2>>>(output,input,datasize);
cudaDeviceSynchronize();
dim3 threadsPerBlock3(128, 1, 1);
dim3 blocksPerGrid3(datasize/128, 1, 1);
process_kernel3<<<blocksPerGrid3,threadsPerBlock3>>>(input,output,datasize);
cudaDeviceSynchronize();
cudaFree(input1);
cudaFree(input2);
cudaFree(input);
cudaFree(output);
return 0;
}
I am finding these error
File "<ipython-input-4-1c245d54f409>", line 4
process_kernel1(float *input1,float *input2,float *output,int datasize){
^
SyntaxError: invalid syntax. Perhaps you forgot a comma?
why ? can you correct it?

Trending now
This is a popular solution!
Step by step
Solved in 3 steps









