Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

Topic Video
Question

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?

Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education