Skip to content
This repository was archived by the owner on Feb 16, 2019. It is now read-only.

Commit f868f04

Browse files
committed
updated README.md
1 parent 196b840 commit f868f04

File tree

2 files changed

+78
-7
lines changed

2 files changed

+78
-7
lines changed

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
# AMD OpenVX (AMDOVX)
2-
AMD OpenVX (beta preview) is a highly optimized open source implementation of the [Khronos OpenVX](https://www.khronos.org/registry/vx/) 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.
1+
# AMD OpenVX (AMDOVX)
2+
AMD OpenVX (beta) is a highly optimized open source implementation of the [Khronos OpenVX](https://www.khronos.org/registry/vx/) 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.
33

44
The amdovx-core project consists of two components:
55
* [OpenVX](openvx/README.md): AMD OpenVX library
66
* [RunVX](runvx/README.md): command-line utility to execute OpenVX graph described in GDF text file
7+
* [RunCL](runcl/README.md): command-line utility to build, execute, and debug OpenCL programs
78

89
The OpenVX framework provides a mechanism to add new vision functions to OpenVX by 3rd party vendors. Look into github [amdovx-modules](https://github.com/GPUOpen-ProfessionalCompute-Libraries/amdovx-modules) project for additional OpenVX modules and utilities.
910
* **vx_nn**: OpenVX neural network module that was built on top of [MIOpen](https://github.com/ROCmSoftwarePlatform/MIOpen)
@@ -22,26 +23,29 @@ This software is provided under a MIT-style license, see the file COPYRIGHT.txt
2223

2324
## Pre-requisites
2425
* CPU: SSE4.1 or above CPU, 64-bit.
25-
* GPU: Radeon R7 Series or above (Kaveri+ APU), Radeon 3xx Series or above (optional)
26-
* DRIVER: AMD Catalyst 15.7 or higher (version 15.20) with OpenCL 2.0 runtimes
27-
* AMD APP SDK 3.0 [download](http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/).
26+
* GPU: Radeon Professional Graphics Cards or Vega Family of Products (16GB required for vx_loomsl and vx_nn libraries)
27+
* Windows: install the latest drivers and OpenCL SDK [download](https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases)
28+
* Linux: install [ROCm](https://rocm.github.io/ROCmInstall.html)
29+
* OpenCV 3 (optional) [download](https://github.com/opencv/opencv/releases) for RunVX
30+
* Set OpenCV_DIR environment variable to OpenCV/build folder
2831

2932
## Build Instructions
3033
Build this project to generate AMD OpenVX library and RunVX executable.
3134
* Refer to [openvx/include/VX](openvx/include/VX) for Khronos OpenVX standard header files.
3235
* Refer to [openvx/include/vx_ext_amd.h](openvx/include/vx_ext_amd.h) for vendor extensions in AMD OpenVX library.
3336
* Refer to [runvx/README.md](runvx/README.md) for RunVX details.
37+
* Refer to [runcl/README.md](runcl/README.md) for RunCL details.
3438

3539
### Build using Visual Studio Professional 2013 on 64-bit Windows 10/8.1/7
3640
* Install OpenCV 3 with contrib [download](https://github.com/opencv/opencv/releases) for RunVX tool to support camera capture and image display (optional)
3741
* OpenCV_DIR environment variable should point to OpenCV/build folder
3842
* Use amdovx-core/amdovx.sln to build for x64 platform
39-
* If AMD GPU (or OpenCL 2.0) is not available, set build flag ENABLE_OPENCL=0 in openvx/openvx.vcxproj and runvx/runvx.vcxproj.
43+
* If AMD GPU (or OpenCL) is not available, set build flag ENABLE_OPENCL=0 in openvx/openvx.vcxproj and runvx/runvx.vcxproj.
4044

4145
### Build using CMake
4246
* Install CMake 2.8 or newer [download](http://cmake.org/download/).
4347
* Install OpenCV 3 with contrib [download](https://github.com/opencv/opencv/releases) for RunVX tool to support camera capture and image display (optional)
4448
* OpenCV_DIR environment variable should point to OpenCV/build folder
4549
* Install libssl-dev on linux (optional)
4650
* Use CMake to configure and generate Makefile
47-
* If AMD GPU (or OpenCL 2.0) is not available, use build flag -DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=TRUE.
51+
* If AMD GPU (or OpenCL) is not available, use build flag -DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=TRUE.

runcl/README.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# AMD RunCL
2+
RunCL is a command-line tool to build, execute, and debug OpenCL programs, with a simple, easy-to-use interface.
3+
4+
## RunCL Usage
5+
6+
Usage: runcl [platform-options] [-I<include-dir>] [[-D<name>=<value>] ...]
7+
<kernel.[cl|elf]> [kernel-arguments]
8+
<arguments> <num_work_items>[/<work_group_size>]
9+
10+
[platform-options]
11+
-v verbose
12+
-gpu use GPU device (default)
13+
-cpu use CPU device
14+
-device <name>|#<num> use specified device
15+
-bo <string> OpenCL build option
16+
17+
[kernel-options]
18+
-k <kernel-name> kernel name
19+
-p use persistence flag
20+
-r[link] <exec-count> execution count
21+
-w <msec> waiting time
22+
-dumpcl dump OpenCL code after pre-processing
23+
-dumpilisa dump ISA of kernel and show ISA statistics
24+
-dumpelf dump ELF binary
25+
26+
The <arguments> shall be given in the order as required by the kernel.
27+
For value arguments use
28+
iv#<int/float>[,<int/float>...] or
29+
iv:<file> (e.g., iv#10.2,10,0x10)
30+
For local memory use
31+
lm#<local-memory-size> (e.g., lm#8192)
32+
For input buffer use
33+
if[#<buffer-size>]:[<file>][#[[<checksum>][/<file>[@<offset>#<end>]]]]
34+
(e.g., if:input.bin)
35+
For output (or RW) buffer
36+
of[#<buffer-size>]:[#]<file>[@<ofile>][#[[<checksum>][/[+<float-tolerance>]<file>[@<offset>#<end>]]]]
37+
(e.g., of#16384:output.bin)
38+
For input image use
39+
ii#<width>x<height>,<stride>,<u8/s16/u16/bgra/rgba/argb>:<file>
40+
(e.g., ii#1920x1080,7680,bgra:screen1920x1080.rgb)
41+
For output image use
42+
oi#<width>x<height>,<stride>,<u8/s16/u16/bgra/rgba/argb>:<file>
43+
(e.g., oi#1920x1080,7680,bgra:screen1920x1080.rgb
44+
45+
## Example
46+
47+
% cat subtract.cl
48+
__kernel __attribute__((reqd_work_group_size(64, 1, 1)))
49+
void subtract(
50+
__global float * a,
51+
__global float * b,
52+
__global float * c,
53+
uint count)
54+
{
55+
uint id = get_global_id(0);
56+
if(id < count) {
57+
c[id] = a[id] - b[id];
58+
}
59+
}
60+
% runcl subtract.cl if#4000:a.f32 if#4000:b.f32 of#4000:#out.f32 iv#1000 1024,1,1/64,1,1
61+
OK: Using GPU device#0 [...]
62+
OK: COMPILATION on GPU took 0.1268 sec for subtract
63+
OK: kernel subtract info reqd_work_group_size(64,1,1)
64+
OK: kernel subtract info work_group_size(256)
65+
OK: kernel subtract info local_mem_size(0)
66+
OK: kernel subtract info local_private_size(0)
67+
OK: RUN SUCCESSFUL on GPU work:{1024,1,1}/{64,1,1} [ 0.00025 sec/exec] subtract (1st execution)

0 commit comments

Comments
 (0)