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 0add15db92 Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
docs Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
samples Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 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 Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
Core.h Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
Macros.h Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
Makefile Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
Makefile.template Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
README.rst Added CUDA Graphs support 2 years ago
Sparse.h Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 2 years ago
Types.h Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 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 Added initial cuSparse groundwork, and fp16 (__half) GEMM function. 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