Home

Page 21
Page 21
background image

Вызов CUDA из произвольного 

Вызов CUDA из произвольного 

хост-кода (пример)

void

fflayerCUDA::backpropagate()

{

/*

U16 i;

for(i=0;i<ns;i++)

for(U16 k=0;k<outSize[0]/ns;k++)

ld[i]+=Output[0][i+k];

(…)

memset(Input[0],0,inSize[0]*memSize[0]*sizeof(FLT64));

for (i=0;i<ns;i++)

for(U16 k=0;k<inSize[0];k++)

Input[0][k]+=ld[i]*wm[i+k*ns]; */

if

(LocLayerID==1) 

(

y

)

{

for

(

U32

ii=0;ii<ns;ii++) ldF32[ii]=(

FLT32

)((

FLT64**

)Output)[0][ii];

if

(cudaMemcpy(ldCU,ldF32,ns*sizeof(FLT32),cudaMemcpyHostToDevice)!=cudaSuccess)

throw

Unsupported(

this

->Name,"CUDA failed to upload LD.");

throw

Unsupported(

this

Name, CUDA failed to upload LD. );

}

CUDAbackpropagate(ldCU,loCU,wmCU,wmdCU,bvdCU,inCU,indCU,inSize[0],ns,wm_pitch/sizeof(

float

));

}


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

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