A library and framework for developing CPU-CUDA compatible applications under one unified code.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Kenneth Jao 917c95d70c Fixed compilation macro name issue 2 years ago
docs Edited device class copy functions, and related documentation 2 years ago
samples Edited Makefile error 2 years ago
.clang-format Initial commit with first version of library 2 years ago
.gitignore Initial commit with first version of library 2 years ago
Array.h Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
BLAS.h Fixed compilation macro name issue 2 years ago
Core.h Fixed compilation macro name issue 2 years ago
Macros.h Edited device class copy functions, and related documentation 2 years ago
Makefile Edited Makefile error 2 years ago
Makefile.template Edited Makefile error 2 years ago
README.rst Added CUDA Graphs support 2 years ago
Types.h Updated docs 2 years ago
build_docs Execute permission to build_docs 2 years ago
requirements.txt Initial commit with first version of library 2 years ago
tests.cu.cpp Edited device class copy functions, and related documentation 2 years ago

README.rst

CudaTools

This is the documentation for CudaTools, a header-only library and framework for the development of CPU-CUDA compatible applications. Using CudaTools enables the creation of a single unified code that has both CPU and CUDA compilation targets with minimal need to introduce #ifdef statements when code is essentially identical between the targets.

For information on the library itself and its usage, view documentation. The small code snippets and samples seen in the documentation are in the folder samples.

Dependencies

  • Eigen

In the future, we will make this dependency optional, but still provide support for it. As of now, it is necessary.

Building the Documentation

The documentation is built with Doxygen and Sphinx. So, first make sure you have Doxygen installed on your system, and make sure it is added to your system path. Then, you will have to create a Python virtual environment in the repository folder

$ python3 -m venv .venv

After installing the required Python packages

$ pip install -r requirements.txt

you can now run the script

$ ./build_docs