hycuda spec-file [options]
When HyCuda is called without any options, the files listed below are
generated in the current directory, where X denotes the
class-name as specified in the specification (all lowercase).
X.h
X_algorithm.h
X_cudastopwatch.cuh X_cudastopwatch.ih X_cudastopwatch.cu
X_default_base.h
X_default_cpu.h X_default_cpu.ih X_default_cpu_impl.cc
X_default_gpu.h X_default_gpu.ih X_default_gpu_impl.cu
X_devicepolicies.h
X_hybrid.h
X_inputpolicy.h X_inputpolicy.ih X_inputpolicy_impl.cc
X_kernels.h X_kernels.cu
X_memory.h X_memory.ih X_memory.cu / X_memory.cc
X_stopwatch.h
X_timer.h X_timer.ih X_timer.cc
Makefile
There exist many common source-file-extensions in the world of C++;
.cpp, .cc, .cxx or .C for
source-files and .h or .hpp for header-files. In
addition to the familiar source- and header-files, for which I have
chosen the .cc and .h extension, there are a few
other extensions visible in the list of files above. The uncommon
.ih-files are so-called implementation headers, which
should by convention only be included by source-files. The purpose of
these implementation headers is to include other headers that are only
needed by the implementation, or contain using-directives
(e.g. using namespace std;) for convenience of the
programmer.
The CUDA sources have the .cu extension, and header-files that are exclusively seen by the CUDA compiler (nvcc) have the .cuh extension. Even though these are a lot of files, the user will only have to be familiar with a few to be able to implement his own algorithm (Section 3.3.
Joren Heit 2013-12-17