Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/trick-17/backends

Interchangeable backends in C++, OpenMP, CUDA, OpenCL, OpenACC
https://github.com/trick-17/backends

c-plus-plus cross-platform cuda cuda-backend header-only openacc openacc-backend opencl opencl-backend openmp openmp-backend

Last synced: 27 days ago
JSON representation

Interchangeable backends in C++, OpenMP, CUDA, OpenCL, OpenACC

Awesome Lists containing this project

README

        

# backends
Interchangeable backends:
- C++
- CUDA
- OpenCL
- OpenACC

## Project Health

| Service | System | Compiler | Status |
| ------- | ------ | -------- | -----: |
| [Travis-CI](https://travis-ci.org/Trick-17/backends) | Ubuntu 14.04
OSX | GCC 6
Clang | [![Build Status](https://travis-ci.org/Trick-17/backends.svg?branch=master)](https://travis-ci.org/Trick-17/backends) |
| [AppVeyor](https://ci.appveyor.com/project/Trick-17/backends) | Windows | MSVC12
MSVC14
MSVC14.1 | [![Build status](https://ci.appveyor.com/api/projects/status/k7d43bdnl80kwuq2?svg=true)](https://ci.appveyor.com/project/Trick-17/backends) |

## Including this library in your code

TODO...

## Library usage

Filling a vector with a single value:
```C++
auto myVec = backends::vector(2000);
backends::fill(myVec, 12.0);
```

Typical reductions:
```C++
auto myVec = backends::vector{1, 2, 3, 4};
double sum = backends::sum(myVec);
double mean = backends::mean(myVec);
// The sum should be 12, the mean should be 2.5
```