{"name":"CUDA C++","scopeName":"source.cuda-c++","patterns":[{"include":"source.c++"},{"name":"keyword.function.qualifier.cuda-c++","match":"\\b__(global|device|host|noinline|forceinline)__\\b"},{"name":"storage.modifier.cuda-c++","match":"\\b__(device|constant|managed|shared|restrict)__\\b"},{"name":"support.type.cuda-c++","match":"\\b(dim3|char[1-4]|uchar[1-4]|short[1-4]|ushort[1-4]|int[1-4]|uint[1-4]|long[1-4]|ulong[1-4]|longlong[1-4]|ulonglong[1-4]|float[1-4]|double[1-4])\\b"},{"name":"variable.language.cuda-c++","match":"\\b(gridDim|blockIdx|blockDim|threadIdx|warpSize)\\b"},{"name":"support.function.cuda-c++","match":"\\b__(threadfence_system|threadfence_block|threadfence)\\b"},{"name":"support.function.cuda-c++","match":"\\b__(syncthreads_count|syncthreads_and|syncthreads_or|syncthreads)\\b"},{"name":"support.function.cuda-c++","match":"\\b(texCubemapLayered|tex1Dlayered|tex2Dlayered|tex2Dgather|tex1Dfetch|texCubemap|tex1D|tex2D|tex3D)\\b"},{"name":"support.function.cuda-c++","match":"\\b(surfCubemapLayeredwrite|surfCubemapLayeredread|surf1DLayeredwrite|surf2DLayeredwrite|surf1DLayeredread|surf2DLayeredread|surfCubemapwrite|surfCubemapread|surf1Dwrite|surf2Dwrite|surf3Dwrite|surf1Dread|surf2Dread|surf3Dread)\\b"},{"name":"support.function.cuda-c++","match":"\\b__ldg\\b"},{"name":"support.function.cuda-c++","match":"\\b(clock|clock64)\\b"},{"name":"support.function.cuda-c++","match":"\\b(atomicExch|atomicAdd|atomicSub|atomicMin|atomicMax|atomicInc|atomicDec|atomicCAS|atomicAnd|atomicXor|atomicOr)\\b"},{"name":"support.function.cuda-c++","match":"\\b__(ballot|all|any)\\b"},{"name":"support.function.cuda-c++","match":"\\b__(shfl_down|shfl_xor|shfl_up|shfl)\\b"},{"name":"support.function.cuda-c++","match":"\\b__(prof_trigger)\\b"},{"name":"support.function.cuda-c++","match":"\\bassert\\b"},{"name":"support.function.cuda-c++","match":"\\bprintf\\b"},{"name":"support.function.cuda-c++","match":"\\b(malloc|free|memcpy|memset)\\b"},{"name":"keyword.operator.cuda-c++","begin":"(\u003c\u003c\u003c)","end":"(\u003e\u003e\u003e)","patterns":[{"include":"$base"}]},{"name":"support.function.qualifier.cuda-c++","match":"\\b__launch_bounds__\\b"},{"name":"support.function.cuda-c++","match":"\\b__(fdividef|sincosf|log10f|exp10f|log2f|logf|expf|powf|sinf|cosf|tanf)\\b"},{"name":"support.function.cuda-c++","match":"\\b__((fsqrt|frcp|fadd|fsub|fmul|fmaf|fdiv)_(rn|rz|ru|rd)|frsqrt_rn)\\b"},{"name":"support.function.cuda-c++","match":"\\b__(dsqrt|dadd|dsub|dmul|ddiv|drcp|fma)_(rn|rz|ru|rd)\\b"}]}
