Home

Page 22
Page 22
background image

Функция, использующая CUDA –

Функция, использующая CUDA

пример (файл *.cu)

void

CUDAbackpropagate(

float

*ld,

float

*lo,

float

*wm,

float

*wmd,

float

*bvd,

float

*in, 

float

*ind, 

int

insize,

int

outsize,

int

wm_pitch)

{

dim3

threads;

dim3

grid;

int

repetit=1;

threads.x = MAX_THREAD_PER_BLOCK;

repetit = outsize/MAX_THREAD_PER_BLOCK;

if

(repetit*MAX_THREAD_PER_BLOCK<outsize) repetit++;   

if

(insize<=MAX_BLOCKS_PER_GRID_DIM) {grid.x = insize;}

else

{printf("CUDA device: Can't handle layers with more than 65535 inputs (extendible to 

65535^3)\n");

return

;}

CUDA_SAFE_CALL( cudaThreadSynchronize() );

CUDAbackpropagateCALC

<<<grid, 

threads,threads.x*sizeof(float)>>>(

ld,lo,wm,wmd,bvd,in,ind,insize,outsize,repetit,wm_pitc

h);

CUDA_SAFE_CALL( cudaThreadSynchronize() );

}


Copyright © 2021 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.