A template for creating C++ header-only libraries accelerated with CUDA/Apple Metal
Before attempting to build this project, make sure you have Nix with Flake support installed on your machine.
Additionally, if you wish to utilize the GPU acceleration features, you will need to have the CUDA Toolkit or Apple Metal installed on your machine.
To get a local copy of the project up and running on your machine, follow these simple steps:
-
Clone the project repository
git clone https://github.com/Kaweees/KiwiCPP.git cd KiwiCPP -
Install the project dependencies
If you have
direnvinstalled, simply allow the environment:direnv allow
Otherwise, you can use
nix-shellto enter the environment:nix-shell --max-jobs $(nproc) # Linux / Windows (WSL) nix-shell --max-jobs $(sysctl -n hw.ncpu) # macOS
-
Build the project
just build
-
Run the project
just run <package_name>
KiwiCPP/
โโโ .github/ - GitHub Actions CI/CD workflows
โโโ include/ - project header files
โโโ src/ - project source files
โ โโโ main.c - Entry point, main function
โโโ CMakeLists.txt - CMake build script
โโโ LICENSE - project license
โโโ README.md - you are hereThe source code for Kaweees/kiwiCPP is distributed under the terms of the GNU General Public License v3.0, as I firmly believe that collaborating on free and open-source software fosters innovations that mutually and equitably beneficial to both collaborators and users alike. See LICENSE for details and more information.