All Projects → goldbattle → libelas-gpu

goldbattle / libelas-gpu

Licence: MIT license
Implementation of LIBELAS in cuda.

Programming Languages

C++
36643 projects - #6 most used programming language
Cuda
1817 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to libelas-gpu

Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (+812.2%)
Mutual labels:  cpu, cuda
peakperf
Achieve peak performance on x86 CPUs and NVIDIA GPUs
Stars: ✭ 33 (-19.51%)
Mutual labels:  cpu, cuda
Remotery
Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer
Stars: ✭ 1,908 (+4553.66%)
Mutual labels:  cpu, cuda
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (+304.88%)
Mutual labels:  cpu, cuda
H2o4gpu
H2Oai GPU Edition
Stars: ✭ 416 (+914.63%)
Mutual labels:  cpu, cuda
Onemkl
oneAPI Math Kernel Library (oneMKL) Interfaces
Stars: ✭ 122 (+197.56%)
Mutual labels:  cpu, cuda
Creepminer
Burstcoin C++ CPU and GPU Miner
Stars: ✭ 169 (+312.2%)
Mutual labels:  cpu, cuda
ddcpuid
🔬 dd's x86 CPU Identification tool
Stars: ✭ 21 (-48.78%)
Mutual labels:  cpu
spu-mark-ii
CPU and home computer project
Stars: ✭ 14 (-65.85%)
Mutual labels:  cpu
WMDebugAssistant
CPU 内存(Memory)Network FPS 实时监测 查看沙盒sandbox
Stars: ✭ 52 (+26.83%)
Mutual labels:  cpu
rasterator
Real-time software rasterizer written in C++ with windowing and model loading support.
Stars: ✭ 15 (-63.41%)
Mutual labels:  cpu
BMW-IntelOpenVINO-Detection-Inference-API
This is a repository for a No-Code object detection inference API using the OpenVINO. It's supported on both Windows and Linux Operating systems.
Stars: ✭ 66 (+60.98%)
Mutual labels:  cpu
cpu
cpu command in Go, inspired by the Plan 9 cpu command
Stars: ✭ 135 (+229.27%)
Mutual labels:  cpu
BMW-IntelOpenVINO-Segmentation-Inference-API
This is a repository for a semantic segmentation inference API using the OpenVINO toolkit
Stars: ✭ 31 (-24.39%)
Mutual labels:  cpu
RunCat
🐈 🐈 🐈 Running Cat
Stars: ✭ 31 (-24.39%)
Mutual labels:  cpu
mrisc32-a1
A pipelined, in-order, scalar VHDL implementation of the MRISC32 ISA
Stars: ✭ 21 (-48.78%)
Mutual labels:  cpu
Fuxi
Fuxi (伏羲) is a 32-bit pipelined RISC-V processor written in Chisel3.
Stars: ✭ 68 (+65.85%)
Mutual labels:  cpu
MC6809
Implementation of the MC6809 CPU in Python (Extracted from https://github.com/jedie/DragonPy project)
Stars: ✭ 24 (-41.46%)
Mutual labels:  cpu
darknet
Darknet on OpenCL Convolutional Neural Networks on OpenCL on Intel & NVidia & AMD & Mali GPUs for macOS & GNU/Linux
Stars: ✭ 160 (+290.24%)
Mutual labels:  cpu
R8051
8051 soft CPU core. 700-lines statements for 111 instructions . Fully synthesizable Verilog-2001 core.
Stars: ✭ 70 (+70.73%)
Mutual labels:  cpu

libelas-gpu

This is an implementation of the well known libelas (LIBrary for Efficient LArge-scale Stereo matching) library for sparse large real-time calculation of stereo disparity images. This is for a college course final project and thus does not have any support of any kind. The original source code can be found in the CPU directory. This has been commented as we explore the code.

From there, the GPU cuda implementation of key methods can be found in the GPU folder. For methods not implemented on the GPU the CPU version is called, and such code is run on the CPU.

Differences

The key difference is the changing of most of the methods in the ELAS class to being virtual. This allows for the sub-classes to override such methods. This allows for seamless transition between the GPU and CPU code. Additionally, the methods where converted to public to allow for the testing and comparison of the two methods directly.

Building

  • First create a build directory mkdir build
  • Move into this directory cd build
  • Run the c++ cmake build system cmake ..
  • Finally build all the executables make -j5
  • To build a single one preform the following make -j5 <name-of-exc>
  • To run the program do the following
    • ./libelas_cpu demo
    • ./libelas_gpu

Licenses

All the original code is licensed under the GNU General Public License. This can be found with the original libelas library. All other code is licensed under the MIT license, which is attached to this repo's LICENSE file.

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