Template in culaunchkernel or cudalaunchkernel


I was wondering how can I call a template kernel function using driver api ?
for example:

<template typename T, typename BLK1, typename BLK2, typename BLK3>
_gloabal_ void add(T a, intN){

if (BLk1==32)…
if (BLk2==32)…
if (BLk3==32)…


this kernel can be launched by

cuLaunchKernel(cufunc, griddim, blockdim,args, sharedMem, Stream)

but how can I pass the template blk1 to 3 to this kernel function? I know it can be called by sth like

add<float, 32,64,32><<<griddim, blockdim >>>(A, N)

, but I have too may kernels and I wantted to use culaunchkernel or cudalaunchkernel, how can I do that ?