Installation guide for CUDA MTL4
CMTL4 is a pure header-only template library and only the presence of the sources is required. The only mandatory requirement is the Boost library collection.
To get the latest version, you can check out the current trunk. As version control we use "subversion" which is contained in any Linux distribution. On Windows we recommend Tortoise. Go to the directory where you like MTL4 to reside and type:
svn checkout https://simunova.zih.tu-dresden.de/svn/mtl4/branches/cuda cmtl4
The adventage of version control is that you can update it easily with
when new features are added or a bug is fixed (hopefully not needed very often).
In principle, CMTL4 can be used by:
Usually more compiler (and linker) flags are needed for building applications in a satisfying manner. For your convenience, we provide a cmake module called "MTLConfig.cmake" that is used by our tests and can help you writing your applications. In the CMTL4 root directory one can simply type:
and it will usually find all flags. If any error occur or you want to set some extra flags you can use the interface:
to set paths not automatically found or adapt some flags.
For your application, it will be the most convenient to use cmake as well and include our module "MTLConfig.cmake".
In our cmake configuration, we define a variable called "GPU_ARCHITECTURE". It is by default set to "auto". In this case, cmake detects the compute capability of the used CUDA version and of your device 0. From that two values, the minimum is taken. The configuration script will tell you all three values. Alternatively, you can set the value of GPU_ARCHITECTURE to any flag, e.g. -arch=sm_10 or "-gen_code=...". In this case, our cmake configuration will not check whether the compiler and the device on the compile platform supports this compute capability - this is now the user responsibility.
The boost libraries used by CMTL4 (regardless of the revision) cause a fair amount of warnings when compiled with nvcc (regardless of the CUDA version). In some Linux distributions (e.g. Ubuntu 12.04), boost is modified and the warnings are suppressed. Otherwise you can suppress the warnings by adding "-w" to "CUDA_NVCC_FLAGS" (toggle to advanced mode in ccmake) - disabling warnings for g++ won't help. Obviously, you won't see the warnings in your application any longer.
Proceed to the Debugger Support.