'#' Comment.Preproc 'include' Comment.Preproc ' ' Text '' Comment.PreprocFile '\n' Comment.Preproc '\n' Text '// __device__ function\n' Comment.Single '__device__' Keyword.Type ' ' Text 'void' Keyword.Type ' ' Text 'func' Name '(' Punctuation ')' Punctuation '\n' Text '{' Punctuation '\n' Text ' ' Text 'short' Keyword.Type '*' Operator ' ' Text 'array0' Name ' ' Text '=' Operator ' ' Text '(' Punctuation 'short' Keyword.Type '*' Operator ')' Punctuation 'array' Name ';' Punctuation '\n' Text ' ' Text 'float' Keyword.Type '*' Operator ' ' Text 'array1' Name ' ' Text '=' Operator ' ' Text '(' Punctuation 'float' Keyword.Type '*' Operator ')' Punctuation '&' Operator 'array0' Name '[' Punctuation '127' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text '/* __global__ function */' Comment.Multiline '\n' Text '__global__' Keyword.Reserved ' ' Text 'static' Keyword ' ' Text 'void' Keyword.Type ' ' Text 'reduction' Name '(' Punctuation 'const' Keyword ' ' Text 'float' Keyword.Type '*' Operator ' ' Text '__restrict__' Keyword.Type ' ' Text 'input' Name ',' Punctuation ' ' Text 'float' Keyword.Type ' ' Text '*' Operator 'output' Name ',' Punctuation ' ' Text 'clock_t' Keyword.Type ' ' Text '*' Operator 'timer' Name ')' Punctuation '\n' Text '{' Punctuation '\n' Text ' ' Text '// __shared__ float shared[2 * blockDim.x];\n' Comment.Single ' ' Text 'extern' Keyword ' ' Text '__shared__' Keyword.Type ' ' Text 'float' Keyword.Type ' ' Text 'shared' Name '[' Punctuation ']' Punctuation ';' Punctuation '\n' Text '\n' Text ' ' Text 'const' Keyword ' ' Text 'int' Keyword.Type ' ' Text 'tid' Name ' ' Text '=' Operator ' ' Text 'threadIdx' Name.Builtin '.' Punctuation 'x' Name ';' Punctuation '\n' Text ' ' Text 'const' Keyword ' ' Text 'int' Keyword.Type ' ' Text 'bid' Name ' ' Text '=' Operator ' ' Text 'blockIdx' Name.Builtin '.' Punctuation 'x' Name ';' Punctuation '\n' Text ' \n ' Text 'if' Keyword ' ' Text '(' Punctuation 'threadIdx' Name.Builtin '.' Punctuation 'x' Name ' ' Text '=' Operator '=' Operator ' ' Text '0' Literal.Number.Integer ')' Punctuation ' ' Text '{' Punctuation '\n' Text ' ' Text '__threadfence' Name.Function '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text '\n' Text ' ' Text '// Perform reduction to find minimum.\n' Comment.Single ' ' Text 'for' Keyword ' ' Text '(' Punctuation 'int' Keyword.Type ' ' Text 'd' Name ' ' Text '=' Operator ' ' Text 'blockDim' Name.Builtin '.' Punctuation 'x' Name ';' Punctuation ' ' Text 'd' Name ' ' Text '>' Operator ' ' Text '0' Literal.Number.Integer ';' Punctuation ' ' Text 'd' Name ' ' Text '/' Operator '=' Operator ' ' Text '2' Literal.Number.Integer ')' Punctuation '\n' Text ' ' Text '{' Punctuation '\n' Text ' ' Text '__syncthreads' Name.Function '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text ' ' Text '}' Punctuation '\n' Text '}' Punctuation '\n' Text '\n' Text 'int' Keyword.Type ' ' Text 'main' Name '(' Punctuation 'int' Keyword.Type ' ' Text 'argc' Name ',' Punctuation ' ' Text 'char' Keyword.Type ' ' Text '*' Operator '*' Operator 'argv' Name ')' Punctuation '\n' Text '{' Punctuation '\n' Text ' ' Text 'dim3' Keyword.Type ' ' Text 'dimBlock' Name.Function '(' Punctuation '8' Literal.Number.Integer ',' Punctuation ' ' Text '8' Literal.Number.Integer ',' Punctuation ' ' Text '1' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text '\n' Text ' ' Text 'timedReduction' Name '<' Operator '<' Operator '<' Operator 'dimBlock' Name ',' Punctuation ' ' Text '256' Literal.Number.Integer ',' Punctuation ' ' Text '256' Literal.Number.Integer ',' Punctuation ' ' Text '0' Literal.Number.Integer '>' Operator '>' Operator '>' Operator '(' Punctuation 'dinput' Name ',' Punctuation ' ' Text 'doutput' Name ',' Punctuation ' ' Text 'dtimer' Name ')' Punctuation ';' Punctuation '\n' Text ' ' Text 'cudaDeviceReset' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text '}' Punctuation '\n' Text