All Projects → AnyDSL → runtime

AnyDSL / runtime

Licence: LGPL-3.0 license
AnyDSL Runtime Library

Programming Languages

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

Projects that are alternatives of or similar to runtime

Guided Missile Simulation
Guided Missile, Radar and Infrared EOS Simulation Framework written in Fortran.
Stars: ✭ 33 (+94.12%)
Mutual labels:  simd, gpu-acceleration, vectorization
artic
The AlteRnaTive Impala Compiler
Stars: ✭ 16 (-5.88%)
Mutual labels:  simd, gpu-computing, vectorization
CARE
CHAI and RAJA provide an excellent base on which to build portable codes. CARE expands that functionality, adding new features such as loop fusion capability and a portable interface for many numerical algorithms. It provides all the basics for anyone wanting to write portable code.
Stars: ✭ 22 (+29.41%)
Mutual labels:  gpu-acceleration, gpu-computing
Xsimd
C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, NEON, AVX512)
Stars: ✭ 964 (+5570.59%)
Mutual labels:  simd, vectorization
Umesimd
UME::SIMD A library for explicit simd vectorization.
Stars: ✭ 66 (+288.24%)
Mutual labels:  simd, vectorization
ultra-sort
DSL for SIMD Sorting on AVX2 & AVX512
Stars: ✭ 29 (+70.59%)
Mutual labels:  simd, vectorization
Sleef
SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
Stars: ✭ 353 (+1976.47%)
Mutual labels:  simd, vectorization
Simde
Implementations of SIMD instruction sets for systems which don't natively support them.
Stars: ✭ 1,012 (+5852.94%)
Mutual labels:  simd, vectorization
Montecarlomeasurements.jl
Propagation of distributions by Monte-Carlo sampling: Real number types with uncertainty represented by samples.
Stars: ✭ 168 (+888.24%)
Mutual labels:  gpu-acceleration, gpu-computing
Fastapprox
Approximate and vectorized versions of common mathematical functions
Stars: ✭ 128 (+652.94%)
Mutual labels:  simd, vectorization
Impala
An imperative and functional programming language
Stars: ✭ 118 (+594.12%)
Mutual labels:  simd, vectorization
Boost.simd
Boost SIMD
Stars: ✭ 238 (+1300%)
Mutual labels:  simd, vectorization
std find simd
std::find simd version
Stars: ✭ 19 (+11.76%)
Mutual labels:  simd, vectorization
qHilbert
qHilbert is a vectorized speedup of Hilbert curve generation using SIMD intrinsics
Stars: ✭ 22 (+29.41%)
Mutual labels:  simd, vectorization
Gpufit
GPU-accelerated Levenberg-Marquardt curve fitting in CUDA
Stars: ✭ 174 (+923.53%)
Mutual labels:  gpu-acceleration, gpu-computing
Vc
SIMD Vector Classes for C++
Stars: ✭ 985 (+5694.12%)
Mutual labels:  simd, vectorization
Pysnn
Efficient Spiking Neural Network framework, built on top of PyTorch for GPU acceleration
Stars: ✭ 129 (+658.82%)
Mutual labels:  gpu-acceleration, gpu-computing
Clojurecuda
Clojure library for CUDA development
Stars: ✭ 158 (+829.41%)
Mutual labels:  gpu-acceleration, gpu-computing
Thorin
The Higher-Order Intermediate Representation
Stars: ✭ 116 (+582.35%)
Mutual labels:  simd, vectorization
gpuvmem
GPU Framework for Radio Astronomical Image Synthesis
Stars: ✭ 27 (+58.82%)
Mutual labels:  gpu-acceleration, gpu-computing

AnyDSL Runtime Library

The runtime for the AnyDSL framework and its two frontends artic and impala.

The runtime provides the following components:

  • CMake logic to build programs using artic or impala
  • include files for basic runtime abstractions and math functions
  • runtime library implementation to schedule and execute AnyDSL programs on different platforms
    • Host (CPU): standard platform for code
      • TBB / C++11 threads: code emitted by parallel
      • LLVM w/ RV support: code emitted by vectorize
    • CUDA: code emitted by cuda or nvvm
    • OpenCL: code emitted by opencl
    • HSA: code emitted by amdgpu

CMake automatically search for available components on the current system. To prevent CMake from building a particular runtime component, disable it using CMake's CMAKE_DISABLE_FIND_PACKAGE_<PackageName> variable. For example, pass -DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=TRUE to cmake to disable the OpenCL runtime component.

Although not required, feel free to specify Artic_DIR or Impala_DIR for your convenience to later automatically find the correct paths when building AnyDSL programs using the anydsl_runtime_wrap() function.

To enable JIT support, please pass -DRUNTIME_JIT=ON to cmake. This will require atleast one of artic or impala as dependencies and thereby locate LLVM as well as thorin too.

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].