Skip to content

Commit

Permalink
Overwork README, add final logo
Browse files Browse the repository at this point in the history
  • Loading branch information
SimeonEhrig committed Jan 10, 2022
1 parent 974e7aa commit 66fddfd
Show file tree
Hide file tree
Showing 6 changed files with 174 additions and 122 deletions.
88 changes: 42 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
# Primitives for Alpaka
This contains a `reduce` and a `transform` primitive for Alpaka, both header-only.
Directories:
* `include/vikunja`: The actual code
- `mem/iterator`: Contains a base iterator class and a policy based iterator that can vary the memory access pattern: Either a linear or a grid-striding access is possible.
- `reduce`: Contains the `transform_reduce` and the `reduce` function (the latter is just a convenient wrapper around the former).
+ `detail`: This contains the two possible reduce kernels.
- `transform`: Contains two `transform` variants with one and two input iterators.
+ `detail`: This contains the transform kernel.
- `workdiv`: This contains various working divisions for the different backends.
# Vikunja

[![Build Status](https://gitlab.com/hzdr/crp/vikunja/badges/master/pipeline.svg)](https://gitlab.com/hzdr/crp/vikunja/-/commits/master/)
[![Documentation Status](https://readthedocs.org/projects/vikunja/badge/?version=latest)](https://vikunja.readthedocs.io)
[![Doxygen](https://img.shields.io/badge/API-Doxygen-blue.svg)](https://vikunja.readthedocs.io/en/latest/doxygen/index.html)
[![Language](https://img.shields.io/badge/language-C%2B%2B14-orange.svg)](https://isocpp.org/)
[![Platforms](https://img.shields.io/badge/platform-linux-lightgrey.svg)](https://github.com/alpaka-group/vikunja)
[![License](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](https://www.mozilla.org/en-US/MPL/2.0/)

![vikunja](docs/source/logo/vikunja_logo.png)

Vikunja is a performance portable algorithms library defines functions for a variety of purposes that operate on ranges of elements. It supports the execution on multi core CPUs and various GPUs.

Vikunja uses [alpaka](https://github.com/alpaka-group/alpaka) to implement platform independent primitives such like `reduce` or `transform`.

# Installation
## Install Alpaka

## Requirements
Alpaka requires a [boost installation](https://github.com/alpaka-group/alpaka#dependencies).

[Alpaka 0.6.0](https://github.com/alpaka-group/alpaka)
```bash
git clone --depth 1 --branch 0.8.0 https://github.com/alpaka-group/alpaka.git
cd vikunja/build
cmake ..
cmake --install .
```

For more information, see the [alpaka github](https://github.com/alpaka-group/alpaka) repository. It is recommenced to use the latest release version. Vikunja supports `alpaka` `0.6` up to `0.8`.

## Install Vikunja

Expand All @@ -25,54 +37,38 @@ cmake ..
cmake --install .
```

## Enable tests
# Build and Run tests

```bash
cd vikunja/build
cmake .. -DBUILD_TESTING=ON
ctest
```

## Enable Examples
# Enable Examples

```bash
cmake .. -Dvikunja_BUILD_EXAMPLES=ON
```
Two small examples can be found in the folder `example/`.

# Using Vikunja in a Project

You need to import vikunja in the `CMakeLists.txt` of your Project to use it.

```
cmake_minimum_required(VERSION 3.15)
set(_TARGET_NAME example)
project(${_TARGET_NAME})
find_package(vikunja REQUIRED)
alpaka_add_executable(${_TARGET_NAME} main.cpp)
target_link_libraries(${_TARGET_NAME}
PUBLIC
vikunja::vikunja
)
```

Vikunja supports `find_package(vikunja)` and `add_subdirectory(/path/to/vikunja)`. Alpaka is a dependency during the configure time of your project. If it is not installed in a default location, you can use the cmake argument `-Dalpaka_DIR=/path/to/alpakaInstall/lib/cmake/alpaka` or the environment variable `ALPAKA_ROOT=/path/to/alpakaInstall/` to find it.
Examples can be found in the folder `example/`.

# Documentation

An API documentation can be generated with [doxygen](https://www.doxygen.nl/index.html). Install doxygen and run
- You can find the general documentation here: https://vikunja.readthedocs.io/en/latest/
- You can find the API documentation here: https://vikunja.readthedocs.io/en/latest/doxygen/index.html

```bash
cmake .. -Dvikunja_BUILD_DOXYGEN=ON
cmake --build . -t doc
```
# Authors

The documentation can be found in `build/doc`.
## Maintainers* and Core Developers

# Format the code
- Simeon Ehrig*

The code is formatted with `clang-format-11`.
## Former Members, Contributions and Thanks

* Format a single file with: `clang-format -i --style=file <sourcefile>`
* If you want to format the entire code base execute the following command from alpaka’s top-level directory: `find example include test -name '*.hpp' -o -name '*.cpp' | xargs clang-format -i --style=file`
- Dr. Michael Bussmann
- Hauke Mewes
- René Widera
- Bernhard Manfred Gruber
- Jan Stephan
- Dr. Jiří Vyskočil
- Matthias Werner
2 changes: 1 addition & 1 deletion docs/source/logo/README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
The Logo was created with Inkscape. The text uses the font `Latin Modern Sans Quotation` and the colors `005aa0ff` (blue - RGBA) and `f0781eff` (orange).
The Logo was created with Inkscape. The text uses the font `UnDinaru` and the colors `005aa0ff` (blue - RGBA) and `f0781eff` (orange).
Binary file modified docs/source/logo/vikunja_logo.pdf
Binary file not shown.
Binary file added docs/source/logo/vikunja_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
91 changes: 49 additions & 42 deletions docs/source/logo/vikunja_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
115 changes: 82 additions & 33 deletions docs/source/logo/vikunja_logo_doxygen.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 66fddfd

Please sign in to comment.