All Projects → cdeterman → Gpur

cdeterman / Gpur

R interface to use GPU's

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Gpur

Stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
Stars: ✭ 531 (+155.29%)
Mutual labels:  gpu, gpgpu, gpu-computing
Neanderthal
Fast Clojure Matrix Library
Stars: ✭ 927 (+345.67%)
Mutual labels:  gpu, gpgpu, gpu-computing
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 (-63.46%)
Mutual labels:  gpu, gpgpu, gpu-computing
Vuh
Vulkan compute for people
Stars: ✭ 264 (+26.92%)
Mutual labels:  gpu, gpgpu, gpu-computing
Cuda Api Wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
Stars: ✭ 362 (+74.04%)
Mutual labels:  gpu, gpgpu, gpu-computing
Webclgl
GPGPU Javascript library 🐸
Stars: ✭ 313 (+50.48%)
Mutual labels:  gpu, gpgpu, gpu-computing
MatX
An efficient C++17 GPU numerical computing library with Python-like syntax
Stars: ✭ 418 (+100.96%)
Mutual labels:  gpu, gpgpu, gpu-computing
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (+81.25%)
Mutual labels:  gpu, gpgpu, gpu-computing
Emu
The write-once-run-anywhere GPGPU library for Rust
Stars: ✭ 1,350 (+549.04%)
Mutual labels:  gpu, gpgpu, gpu-computing
Gbrain
GPU Javascript Library for Machine Learning
Stars: ✭ 48 (-76.92%)
Mutual labels:  gpu, gpgpu
Heteroflow
Concurrent CPU-GPU Programming using Task Models
Stars: ✭ 57 (-72.6%)
Mutual labels:  gpu, gpu-computing
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (-65.87%)
Mutual labels:  gpu, gpgpu
Computesharp
A .NET 5 library to run C# code in parallel on the GPU through DX12 and dynamically generated HLSL compute shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
Stars: ✭ 982 (+372.12%)
Mutual labels:  gpu, gpgpu
Nvidia libs test
Tests and benchmarks for cudnn (and in the future, other nvidia libraries)
Stars: ✭ 36 (-82.69%)
Mutual labels:  gpu, gpu-computing
Pycuda
CUDA integration for Python, plus shiny features
Stars: ✭ 1,112 (+434.62%)
Mutual labels:  gpu, gpu-computing
Metalpetal
A GPU accelerated image and video processing framework built on Metal.
Stars: ✭ 907 (+336.06%)
Mutual labels:  gpu, gpgpu
Aardvark.rendering
The dependency-aware, high-performance aardvark rendering engine. This repo is part of aardvark - an open-source platform for visual computing, real-time graphics and visualization.
Stars: ✭ 79 (-62.02%)
Mutual labels:  gpu, gpgpu
Compute
A C++ GPU Computing Library for OpenCL
Stars: ✭ 1,192 (+473.08%)
Mutual labels:  gpu, gpgpu
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+549.52%)
Mutual labels:  gpu, gpu-computing
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+688.94%)
Mutual labels:  gpu, gpgpu

gpuR

DOI

Gitter rooms available for discussion

chat general development testing

Build Status

Build Dev
Linux x86_64 Build Status Build Status
OSX Build Status Build Status
Windows x86 Appveyor Build Status Appveyor Build Status

Test coverage: Coverage Status

Community Use: Downloads

Welcome to my R package for simple GPU computing. Although there are a few existing packages to leverage the power of GPU's they are either specific to one brand (e.g. NVIDIA) or are not very user friendly. The goal of this package is to provide the user a very simple R API that can be used with any GPU (via an OpenCL backend). This is accomplished by interfacing with the ViennaCL library that I have packaged in the R package RViennaCL. To make the R API simple, I created new classes similar to the structure of the Matrix package. By doing so, typical methods may be overloaded to make for a very pleasing sytax. For example, to perform vector addition the syntax is:

A <- seq.int(from=0, to=999)
B <- seq.int(from=1000, to=1)
gpuA <- gpuVector(A)
gpuB <- gpuVector(B)

C <- A + B
gpuC <- gpuA + gpuB

all(C == gpuC)
[1] TRUE

I also recommend you read the vignette I included with this package to get a better understanding of its' capabilities.

vignette("gpuR")

Please note, all the functions herein use an OpenCL backend. If you prefer to have a CUDA based backend, please see my other package gpuRcuda which is simply an extension on top of this package where all functions herein are still applicable but also have the CUDA option available.

INSTALL

Please see my github wiki for installation instructions relevant to your operating system.

Things to Do

  1. Obviously more vector functions and matrix implementations
  2. My resources limit how much I can test (e.g. OS, GPU vendors). Would appreciate any feedback on how the installation and use fairs with other platforms and GPUs.
  3. Would love any suggestions :) (submit in the issues)
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].