All Projects → bcosenza → sycl-bench

bcosenza / sycl-bench

Licence: BSD-3-Clause license
SYCL Benchmark Suite

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
ruby
36898 projects - #4 most used programming language
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to sycl-bench

Floor
A C++ Compute/Graphics Library and Toolchain enabling same-source CUDA/Host/Metal/OpenCL/Vulkan C++ programming and execution.
Stars: ✭ 166 (+453.33%)
Mutual labels:  opencl, spir-v
Computecpp Sdk
Collection of samples and utilities for using ComputeCpp, Codeplay's SYCL implementation
Stars: ✭ 239 (+696.67%)
Mutual labels:  opencl, gpgpu
Clinfo
Print all known information about all available OpenCL platforms and devices in the system
Stars: ✭ 186 (+520%)
Mutual labels:  opencl, gpgpu
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+5370%)
Mutual labels:  opencl, gpgpu
john-packages
Community packages of John the Ripper (a Docker image, a Flatpak, a Windows PortableApp, and Ubuntu SNAP packages)
Stars: ✭ 31 (+3.33%)
Mutual labels:  opencl, gpgpu
Spoc
Stream Processing with OCaml
Stars: ✭ 115 (+283.33%)
Mutual labels:  opencl, gpgpu
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+666.67%)
Mutual labels:  opencl, gpgpu
Knlmeanscl
An optimized OpenCL implementation of the Non-local means de-noising algorithm
Stars: ✭ 92 (+206.67%)
Mutual labels:  opencl, gpgpu
learn-gpgpu
Algorithms implemented in CUDA + resources about GPGPU
Stars: ✭ 37 (+23.33%)
Mutual labels:  opencl, gpgpu
CUDAfy.NET
CUDAfy .NET allows easy development of high performance GPGPU applications completely from the .NET. It's developed in C#.
Stars: ✭ 56 (+86.67%)
Mutual labels:  opencl, gpgpu
Hashcat
World's fastest and most advanced password recovery utility
Stars: ✭ 11,014 (+36613.33%)
Mutual labels:  opencl, gpgpu
rectdetect
Realtime rectangle detector with GPGPU
Stars: ✭ 51 (+70%)
Mutual labels:  opencl, gpgpu
Vc4c
Compiler for the VC4CL OpenCL implementation
Stars: ✭ 101 (+236.67%)
Mutual labels:  opencl, spir-v
Babelstream
STREAM, for lots of devices written in many programming models
Stars: ✭ 121 (+303.33%)
Mutual labels:  opencl, gpgpu
Amplifier.net
Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.
Stars: ✭ 92 (+206.67%)
Mutual labels:  opencl, gpgpu
Opencl Intercept Layer
Intercept Layer for Debugging and Analyzing OpenCL Applications
Stars: ✭ 189 (+530%)
Mutual labels:  opencl, gpgpu
Compute
A C++ GPU Computing Library for OpenCL
Stars: ✭ 1,192 (+3873.33%)
Mutual labels:  opencl, gpgpu
Cekirdekler
Multi-device OpenCL kernel load balancer and pipeliner API for C#. Uses shared-distributed memory model to keep GPUs updated fast while using same kernel on all devices(for simplicity).
Stars: ✭ 76 (+153.33%)
Mutual labels:  opencl, gpgpu
gpuowl
GPU Mersenne primality test.
Stars: ✭ 77 (+156.67%)
Mutual labels:  opencl, gpgpu
Amplifier.NET
Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code. Write your function in .NET and Amplifier will take care of running it on your favorite hardware.
Stars: ✭ 142 (+373.33%)
Mutual labels:  opencl, gpgpu

SYCL-Bench

SYCL Benchmark Suite, work in progress

Benchmarks support the following command line arguments:

  • --size=<problem-size> - total problem size. For most benchmarks, global range of work items. Default: 3072
  • --local=<local-size> - local size/work group size, if applicable. Not all benchmarks use this. Default: 256
  • --num-runs=<N> - the number of times that the problem should be run, e.g. for averaging runtimes. Default: 5
  • --device=<d> - changes the SYCL device selector that is used. Supported values: cpu, gpu, default. Default: default
  • --output=<output> - Specify where to store the output and how to format. If <output>=stdio, results are printed to standard output. For any other value, <output> is interpreted as a file where the output will be saved in csv format.
  • --verification-begin=<x,y,z> - Specify the start of the 3D range that should be used for verifying results. Note: Most benchmarks do not implement this feature. Default: 0,0,0
  • --verification-range=<x,y,z> - Specify the size of the 3D range that should be used for verifying results. Note: Most benchmarks do not implement this feature. Default: 1,1,1
  • --no-verification - disable verification entirely
  • --no-ndrange-kernels - do not run kernels based on ndrange parallel for

Usage

Clone sycl-bench repo

$ git clone https://github.com/bcosenza/sycl-bench.git

Navigate into repo and create build folder

$ cd bench
$ mkdir build && cd build

Compile with CMake

$ cmake -DSYCL_IMPL=[target SYCL implementation] [other compiler arguments] ..
$ cmake --build .
$ sudo make install

Example compiling with CMake for DPC++:

$ cmake -DSYCL_IMPL=LLVM -DCMAKE_CXX_COMPILER=/path/to/llvm/build/bin/clang++ ..

Each test should now have an executable in the build folder Run individual tests as such:

$ ./arith --device=cpu --output=output.csv

Attribution

If you use SYCL-Bench, please cite the following papers:

@inproceedings{SYCL-Bench:Euro-Par:2020,
author = {Lal, Sohan and Alpay, Aksel and Salzmann, Philip and Cosenza, Biagio and Hirsch, Alexander and Stawinoga, Nicolai and Thoman, Peter and Fahringer, Thomas and Heuveline, Vincent},
title = {{SYCL-Bench: A Versatile Cross-Platform Benchmark Suite for Heterogeneous Computing}},
year = {2020},
publisher = {Springer International Publishing},
booktitle = {Euro-Par 2020: 26th International European Conference on Parallel and Distributed Computing},
series = {Euro-Par ’20}
}
@inproceedings{SYCL-Bench:IWOCL:2020,
author = {Lal, Sohan and Alpay, Aksel and Salzmann, Philip and Cosenza, Biagio and Stawinoga, Nicolai and Thoman, Peter and Fahringer, Thomas and Heuveline, Vincent},
title = {{SYCL-Bench: A Versatile Single-Source Benchmark Suite for Heterogeneous Computing}},
year = {2020},
isbn = {9781450375313},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3388333.3388669},
doi = {10.1145/3388333.3388669},
booktitle = {Proceedings of the International Workshop on OpenCL},
articleno = {10},
numpages = {1},
keywords = {Heterogeneous Computing, SYCL Benchmarks &Runtime},
location = {Munich, Germany},
series = {IWOCL ’20}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].