GPUOpen-ProfessionalCompute-Libraries / Amdovx Core

Licence: mit
AMD OpenVX Core -- a sub-module of amdovx-modules:

Projects that are alternatives of or similar to Amdovx Core

Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (+169.06%)
Mutual labels:  cpu, opencl
folding-at-home
A Folding@Home Docker container with GPU support
Stars: ✭ 38 (-72.66%)
Mutual labels:  cpu, opencl
darknet
Darknet on OpenCL Convolutional Neural Networks on OpenCL on Intel & NVidia & AMD & Mali GPUs for macOS & GNU/Linux
Stars: ✭ 160 (+15.11%)
Mutual labels:  cpu, opencl
Openclga
A Python Library for Genetic Algorithm on OpenCL
Stars: ✭ 103 (-25.9%)
Mutual labels:  cpu, opencl
Mixbench
A GPU benchmark tool for evaluating GPUs on mixed operational intensity kernels (CUDA, OpenCL, HIP, SYCL)
Stars: ✭ 130 (-6.47%)
Mutual labels:  opencl
Maplesyrup
Assesses CPU security of embedded devices. #nsacyber
Stars: ✭ 121 (-12.95%)
Mutual labels:  cpu
Impala
An imperative and functional programming language
Stars: ✭ 118 (-15.11%)
Mutual labels:  cpu
Nnpack
Acceleration package for neural networks on multi-core CPUs
Stars: ✭ 1,538 (+1006.47%)
Mutual labels:  cpu
Kelpnet
Pure C# machine learning framework
Stars: ✭ 136 (-2.16%)
Mutual labels:  opencl
Easydeviceinfo
📱 [Android Library] Get device information in a super easy way.
Stars: ✭ 1,698 (+1121.58%)
Mutual labels:  cpu
Raymarchcl
Experimental OpenCL voxel rendering/raymarching via Clojure REPL (from 2013)
Stars: ✭ 127 (-8.63%)
Mutual labels:  opencl
Onemkl
oneAPI Math Kernel Library (oneMKL) Interfaces
Stars: ✭ 122 (-12.23%)
Mutual labels:  cpu
Hot
Hot is macOS menu bar application that displays the CPU speed limit due to thermal issues.
Stars: ✭ 131 (-5.76%)
Mutual labels:  cpu
Babelstream
STREAM, for lots of devices written in many programming models
Stars: ✭ 121 (-12.95%)
Mutual labels:  opencl
Pstate Frequency
Easily control Intel p-state driver on Linux
Stars: ✭ 136 (-2.16%)
Mutual labels:  cpu
Awesome Cpus
All CPU and MCU documentation in one place
Stars: ✭ 1,602 (+1052.52%)
Mutual labels:  cpu
Sysdash
A simple and clean system monitoring skin for Rainmeter.
Stars: ✭ 128 (-7.91%)
Mutual labels:  cpu
Grofer
A system and resource monitoring tool written in Golang!
Stars: ✭ 135 (-2.88%)
Mutual labels:  cpu
Cn24
Convolutional (Patch) Networks for Semantic Segmentation
Stars: ✭ 125 (-10.07%)
Mutual labels:  opencl
Gumcp
Web Control Panel for Raspberry Pi
Stars: ✭ 124 (-10.79%)
Mutual labels:  cpu

AMD OpenVX is now delivered in the MIVisionX. This content is archived for historical reference.

For the latest information on AMD OpenVX, go to https://gpuopen-professionalcompute-libraries.github.io/MIVisionX/

MIT licensed Build Status

AMD OpenVX (AMDOVX)

AMD OpenVX (beta) is a highly optimized open source implementation of the Khronos OpenVX computer vision specification. It allows for rapid prototyping as well as fast execution on a wide range of computer hardware, including small embedded x86 CPUs and large workstation discrete GPUs.

IMPORTANT: amdovx-core is a part of https://github.com/GPUOpen-ProfessionalCompute-Libraries/amdovx-modules project that contain additional OpenVX modules, such as, neural network inference, 360 degree video stitching, etc.

The amdovx-core project consists of two components:

  • OpenVX: AMD OpenVX library
  • RunVX: command-line utility to execute OpenVX graph described in GDF text file
  • RunCL: command-line utility to build, execute, and debug OpenCL programs

The OpenVX framework provides a mechanism to add new vision functions to OpenVX by 3rd party vendors. Look into github amdovx-modules project for additional OpenVX modules and utilities.

  • vx_nn: OpenVX neural network module that was built on top of MIOpen
  • vx_loomsl: Radeon LOOM stitching library for live 360 degree video applications
  • loom_shell: an interpreter to prototype 360 degree video stitching applications using a script
  • vx_opencv: OpenVX module that implemented a mechanism to access OpenCV functionality as OpenVX kernels

This software is provided under a MIT-style license, see the file COPYRIGHT.txt for details.

Features

  • The code is highly optimized for both x86 CPU and OpenCL for GPU
  • Supported hardware spans the range from low power embedded APUs (like the new G series) to laptop, desktop and workstation graphics
  • Supports Windows, Linux, and OS X
  • Includes a “graph optimizer” that looks at the entire processing pipeline and removes/replaces/merges functions to improve performance and minimize bandwidth at runtime
  • Scripting support allows for rapid prototyping, without re-compiling at production performance levels

Pre-requisites

  • CPU: SSE4.1 or above CPU, 64-bit.
  • GPU: Radeon Professional Graphics Cards or Vega Family of Products (16GB required for vx_loomsl and vx_nn libraries)
    • Windows: install the latest drivers and OpenCL SDK download
    • Linux: install ROCm
  • OpenCV 3 (optional) download for RunVX
    • Set OpenCV_DIR environment variable to OpenCV/build folder

Build Instructions

Build this project to generate AMD OpenVX library and RunVX executable.

Build using Visual Studio Professional 2013 on 64-bit Windows 10/8.1/7

  • Install OpenCV 3 with contrib download for RunVX tool to support camera capture and image display (optional)
  • OpenCV_DIR environment variable should point to OpenCV/build folder
  • Use amdovx-core/amdovx.sln to build for x64 platform
  • If AMD GPU (or OpenCL) is not available, set build flag ENABLE_OPENCL=0 in openvx/openvx.vcxproj and runvx/runvx.vcxproj.

Build using CMake

  • Install CMake 2.8 or newer download.
  • Install OpenCV 3 with contrib download for RunVX tool to support camera capture and image display (optional)
  • OpenCV_DIR environment variable should point to OpenCV/build folder
  • Install libssl-dev on linux (optional)
  • Use CMake to configure and generate Makefile
  • If AMD GPU (or OpenCL) is not available, use build flag -DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=TRUE.
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].