Getting Started

Table of Contents

ubuntu/gcc Coverage Status License:MIT GitHub

Welcome to Hermes! A multi-purpose library that may (hopefully) help you quickly set up a C++/CUDA project by providing you a bunch of auxiliary tools and structures.

This library is my personal lib I use in my projects, at my own risk :) Please keep it in mind. But I really hope it can be useful to you too.


Although most of hermes classes live in a single namespace, you will find the files organized in folders, such as: geometry, data_structures, storage, etc. You can find examples and documentation for each of these groups here:

group description
common auxiliary classes iterating, strings, files, argument parsing, etc
logging logging messages
debugging debugging utilities and macros
profiling time profiling tools
numeric math operations, interpolation, intervals
geometry geometry related objects, functions and utilities such as vector, point, matrix, transforms, intersection tests, line, plane, etc
storage memory classes: allocators, memory blocks, array of structs, etc
CUDA CUDA utilites and integration


You can find Hermes in github.

Please check the build and link instructions to learn

how to build and use hermes into your project.

For the impatient, here is what you can do:

git clone
cd hermes
mkdir build
cd build
cmake .. -DINSTALL_PATH=/my/install/location
make -j8 install

and to compile along with your code here is what to do:

g++ -I/my/install/location/include \
-l/my/install/location/lib/libhermes.a \


Please feel free to contact me by e-mail :)