I am wondering if there is some easy way as to have different versions of a kernel for different architectures. Is their an easy way? or the only possibility is to define independent kernels in independent files and ask nvcc to compile to different architecture per file?
This includes four main architectures namely monolithic, microkernel, exokernel and hybrid kernel.
Kernels are of five types, namely monolithic, microkernel, nanokernel, hybrid kernel and exokernel. Functions of a kernel include scheduling processes, resource allocation, device management, interrupt handling, memory management, and process management.
It has five types, namely, monolithic kernel, microkernel, hybrid kernel, nano kernel, and exo kernel. The functions of a kernel include accessing computer resources, memory management, device management, and resource management.
A Kernel is classified into two main types: Monolithic Kernel. Micro Kernel.
You can do that by compiler directives. Something like
__global__ void kernel(...) {
# if __CUDA_ARCH__ >= 350
do something
# else
do something else
# endif
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With