// --Hier werden die Gitter- und Blockdimensionen definiert und der Kernel gestartet. const int numThreadsPerDim = 16; extern "C" void sobel(unsigned char* in, unsigned char* out, int length, int width) { // --Dimension eines Blocks ist quadratisch (bspw. 16x16 = 256) dim3 dimBlock(numThreadsPerDim,numThreadsPerDim); // --Berechnung der Anzahl der Bloecke (Dimension des Gitters). Das Bildformat wird // --um 2 Punkte jeweils reduziert, da auf dem Bildrand nicht gerechnet wird. dim3 dimGrid((length-2+dimBlock.x-1)/dimBlock.x,(width-2+dimBlock.y-1)/dimBlock.y); // --Starte die Kernelfunktion auf dem Gitter sobel_operator<<>>(in,out,length,width); }