SYCL™ Projects

There are many SYCL projects being developed and maintained by a cross section of the community. This page contains some of those projects.

SYCL Projects Icon
Project Name Main Contributor

Benchmarks

BUDE Benchmark

A BUDE virtual-screening benchmark, in many programming models

University of Bristol

BabelStream

STREAM, for lots of devices written in many programming models

University of Bristol

Breadth NPage

Breadth-first-search and PageRank in SYCL benchmarked against Galois and CUDA implementations on NVIDIA® GPU

University of Texas

Direct Programming Benchmarks

This repository contains a collection of data-parallel programs for evaluating oneAPI direct programming. Each program is written with CUDA, SYCL, and OpenMP-4.5 target offloading.

ANL

Heat Code Benchmark

Heat code from OpenMP Target training

University of Bristol

Mix Bench

The purpose of this benchmark tool is to evaluate performance bounds of GPUs on mixed operational intensity kernels

Parallel Scientific Computing Lab

Pixel raw2digi

The purpose of this test program is to experiment with various "performance portability" frameworks and libraries.

CERN

RSBench

A mini-app to represent the multipole resonance representation lookup cross section algorithm

ANL

Rodinia Benchmarks

The Rodinia Benchmark in SYCL

ANL
SYCL Bench

SYCL Benchmark Suite

University of Salerno, University of Heidelberg, University of Innsbruck

XSBench

The Monte Carlo Macroscopic Cross Section Lookup Benchmark

ANL

sypotential kernel

Efficient evaluation of dense potential kernels on CPUs and GPUs via SYCL

UK Exascale Project, UCL

Frameworks

Alpaka

The alpaka library is a header-only C++14 abstraction library for accelerator development.

HZDR, LBNL and CASUS

AMReX

Software Framework for Block Structured AMR

Used by the WarpX project and 7 other projects reference the AMReX project in the documentation

LBNL

Athena

Athena is a high performance scalable deep learning framework. It represents computation through computation graph and operates tensors

Intel®

KernelFaRer

KernelFaRer: Replacing Native-Code Idioms with High-Performance Library Calls 

University of Alberta

Kokkos

Kokkos C++ Performance Portability Programming EcoSystem: The Programming Model - Parallel Execution and Memory Abstraction

There are many applications that use Kokkos, some are listed on the Kokkos website and there are >30 confirmed applications using Kokkos. On GitHub there are > 600 projects that reference Kokkos in the documentation

ORNL, Sandia National Laboratories

Lammps

Public development project of the LAMMPS MD software package 

ORNL, Sandia Research Lab

Python for SYCL

A library exposing a lightweight C-API for SYCL to use in Python applications including Numba

Intel®

TaskFlow

A General-purpose Parallel and Heterogeneous Task Programming System

University of Utah

Tasmanian

The Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN 

ORNL

TensorFlow

TensorFlow is an end-to-end open source platform for machine learning. Over 99,000 projects on GitHub reference TensorFlow.

Google®

Umpire

An application-focused API for memory management on NUMA & GPU architectures

LLNL

Libraries

Antares

Antares is an automatic engine for multi-platform kernel generation and optimization

Microsoft®

ArborX

ArborX is an open-source library designed to provide performance portable algorithms for geometric search, similarly to nanoflann and Boost Geometry.

ORNL

Cabana

Performance-portable library for particle-based simulations

Argonne

Cross GPU BLAS Wrapper

C/C++ library wrapping cuBLAS, rocBLAS, and DPC++ oneAPI MKL blas (USM version). Implementation is C++, the interface provided is C and designed for easy calling from Fortran code.

University of Chicago, ANL

Demo Track

demotrack is a stripped-down, stand-alone, proof-of-concept GPU accelerated beam-dynamics particle tracking tool similar to SixTrackLib or SixTrack. It implements a particle model similar to SixTrackLib and a small list of beam-elements

CERN

Dolphinx

Simple code to assemble the Poisson equation on manycore architectures using Dolfinx and SYCL.

Universtiy of Cambridge, UK Excalibur Project

Eigen

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.


FTK

FTK is a library that scales, simplifies, and delivers feature tracking algorithms for scientific datasets. You may use FTK as ParaView plugins, Python bindings, or command line interface.

ANL, Ohio State University

Ginkgo

Ginkgo is a high-performance linear algebra library for manycore systems, with a focus on sparse solution of linear systems

French national research institute for digital science and technology

GLM

OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.


Grid

This library provides data parallel C++ container classes with internal memory layout that is transformed to map efficiently to SIMD architectures

University of Edinburgh, EPCC

GTensor

Gtensor is a multi-dimensional array C++14 header-only library for hybrid GPU development

University of Chicago, ANL

oneDAL

oneAPI Data Analytics Library

Intel®

oneDNN

oneAPI Deep Neural Network Library

Intel®

oneMD

Data-parallel molecular dynamics simulator for Intel oneAPI

Individual

oneMKL

oneAPI Math Kernel Library Interfaces

Intel®

OP2

OP2 is an API with associated libraries and preprocessors to generate parallel executables for applications on unstructured grids

University of Warwick

Paracabs

Parallelization and acceleration abstractions for code and performance portability

UCL, DiRAC, Institute of Astronomy from KU Leuven

Partitioned Global Address Space

This directory contains the Global Arrays (GA), Communications Runtime for Exascale (ComEx) run-time library, Aggregate Remote Memory Copy Interface (ARMCI) run-time library, Memory Allocator (MA), parallel I/O libraries (DRA,EAF,SF), TCGMSG, and TCGMSG-MPI packages bundled together

Pacific Northwest National Laboratory

PETSc

PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.

ANL

Picsar

PICSAR is a high performance repository intended to help scientists porting their Particle-In-Cell (PIC) codes to the next generation of exascale computers.

LBNL, ANL, CERN

SLATE

The objective of the Software for Linear Algebra Targeting Exascale (SLATE) project is to provide fundamental dense linear algebra capabilities to the US Department of Energy and to the high-performance computing (HPC) community at large

DoE

Stencil Stream

Generic Stencil Simulation Library that can execute arbitrary Moore-like stencil kernels on arbitrary cell types in arbitrary buffers, using FPGAs.

Paderborn Center for Parallel Computing

SYCL-BLAS

An implementation of BLAS using the SYCL open standard

Codeplay™

SYCL-DNN

SYCL-DNN is a library implementing neural network algorithms written using SYCL

Codeplay

SYCL-ML

SYCL-ML is a C++ library, implementing classical machine learning algorithms using SYCL

Codeplay

VecMem

Vectorised data model base and helper classes. 

CERN

Vectorization-Parallelism-and-GPGPU-programming

This repository aims to accelerate various algortihms using vectorization, parallelism and GPGPU programming. Any sort of recommendations, improvements and even contributions are welcome. 


VisionCpp

A machine vision library written in SYCL and C++ that shows performance-portable implementation of graph algorithms

Codeplay

YAKL

A simple C++ framework for performance portability and Fortran code porting

ORNL

Scientific

ACTS

Experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++

CERN

AMR Wind

AMR-Wind is a massively parallel, block-structured adaptive-mesh, incompressible flow sover for wind turbine and wind farm simulations.

NREL, LBNL

ATLAS Experiment Athena

The ATLAS Experiment's main offline software repository

CERN

Bio Epistatis Detection

They implement 2nd order epistasis detection, with single-objective optimization, using the K2 score objective function.

University Lisbon

crossarch episdet

High-order exhaustive epistasis detection using K2 Bayesian scoring

Inesc id Lisbon

CSB COO SPMM

Simulates sparse symmetric CSB COO format times dense block vector, a key operation for the LOBPCG solver in the MFDn configuration interaction code.

NERSC, LBNL

DICOM Automation

DICOMautomaton is a multipurpose tool for analyzing medical physics data with a focus on automation

University of British Columbia

Distributed GPU LSH

Distributed k-nearest Neighbors using Locality Sensitive Hashing and SYCL 

Scientific Computing (SC) and Simulation of Large Systems (SGS) @ University of Stuttgart

ExaWind

Nalu-Wind is a generalized, unstructured, massively parallel, incompressible flow solver for wind turbine and wind farm simulations

National Renewable Energy Laboratory (NREL)

GROMACS
A molecular dynamics package mainly designed for simulations of proteins, lipids, and nucleic acids

Stockholm University

Hydro Bench

A 2D Hydro code for benchmarking purpose 


MadGraph4GPU

This repository contains code developed in the context of porting the MadGraph5_aMC@NLO event generator software onto GPU hardware

CERN

Mini Weather

A mini app simulating weather-like flows for training in parallelizing accelerated HPC architectures. This uses the YAKL library which is developing SYCL support

ORNL

Nyx

An adaptive mesh, N-body hydro cosmological simulation code

LBNL, NREL, Argonne National Labs

Oil and gas apps for FPGA


Universidade Federal de Sao Carlos

Oligo

Implementing scalable, heterogeneous-parallel-processing algorithms that can be used quickly and accurate decode digital data stored in synthetic DNA generated by project OligoArchive

EURECOM

PSycloneBench

Various benchmarks used to inform PSyclone optimisations

STFC

TAU2

TAU is a program and performance analysis tool framework

DOE, ECP, and ASC program at University of Oregon

Viterbi Algorithms

This is an implementation of different bioinformatics algorithms for protein analysis, based on the Viterbi algorithm

JetBrains