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.
=========
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 <https://acem.ece.illinois.edu/docs/CudaTools> `__ . 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 <https://doxygen.nl/> `__ and `Sphinx <https://www.sphinx-doc.org/en> `__ .
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
.. code-block :: bash
$ python3 -m venv .venv
After installing the required Python packages
.. code-block :: bash
$ pip install -r requirements.txt
you can now run the script
.. code-block :: bash
$ ./build_docs