Skip to content

Commit 9367a3c

Browse files
committed
Update readme
1 parent 652033c commit 9367a3c

File tree

2 files changed

+20
-164
lines changed

2 files changed

+20
-164
lines changed

.gitignore

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
*.vcxproj
2-
App/App.vcxproj.user
32
*.filters
43
*.obj
54
*.tlog
@@ -12,29 +11,12 @@ App/App.vcxproj.user
1211
*.cache
1312
*.idb
1413
*.user
15-
Bin/Debug/x64/App64D.exe
16-
Bin/Release/x64/App64.exe
1714
*.dll
1815
*.exe
1916
*.opendb
2017
*.db
2118
*.sln
2219
*.d
23-
2420
*.o
25-
2621
*.a
27-
28-
*.so
29-
30-
App/Makefile
31-
32-
Bin/Release/x64/
33-
34-
CLW/Makefile
35-
36-
Calc/Makefile
37-
38-
Gtest/Makefile
39-
40-
Makefile
22+
*.so

README.md

Lines changed: 19 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,156 +1,30 @@
1-
# Important
2-
Sample renderer has been moved from RadeonRays repo into a separate one here: [Baikal](https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRender-Baikal)
1+
# RadeonRays 4.0
32

4-
# Summary
5-
Radeon Rays is ray intersection acceleration library provided by AMD which makes the most of the hardware and allows for efficient ray queries. Three backends support a range of use cases.
3+
## Important
64

7-
# Description
8-
Radeon Rays has three backends,
9-
- OpenCL
10-
- Vulkan
11-
- Embree
12-
13-
OpenCL uses GPUs and CPUs that support at least OpenCL 1.2
14-
Vulkan supports GPUs with Vulkan 1.0 or greater
15-
Embree uses Intels Optimized CPU ray casting software for x86 and x64 devices
16-
17-
The source tree consist of the following subdirectories:
18-
19-
- Radeon Rays: library binaries
20-
21-
- App: Standalone sample/application featuring Radeon Rays OpenCL to implement a path tracer.
22-
23-
# Preliminaries
24-
## System requirements
25-
The library is cross-platform and the following compilers are supported:
26-
27-
- Visual Studio 2015
28-
29-
- Xcode 4 and later
30-
31-
- GCC 4.8 and later
32-
33-
- CMake 3.8 and later
34-
35-
- Python (for --embed_kernels option only)
36-
37-
- [Anvil](https://github.com/GPUOpen-LibrariesAndSDKs/Anvil) for Vulkan backend only
38-
39-
- [Embree](https://github.com/embree/embree) for Embree backend only
40-
41-
- AMD OpenCL APP SDK 2.0+ is also required for the standalone app build.
42-
43-
## Set up OpenCL
44-
Set environmental variable. GPU_MAX_ALLOC_PERCENT = 100. This is necessary to allocate a large buffers.
45-
46-
## Set up Vulkan
47-
Anvil is set as a submodule and will be downloaded by using `git submodule update --init --recursive` from the command line.
48-
Some gui clients (github app for example) may do this automatically for you
49-
50-
## Multiple Backends
51-
You can either choose a particular backend (OpenCL, Vulkan or Embree) or compile any combination of them and pick at run-time. By default OpenCL only will be compiled in (see Options below to enable other backends).
52-
At runtime OpenCL devices will appear first, then Vulkan devices (if enabled) with the Embree device last (if enabled).
53-
54-
If the default behaviour is not what you want, an API call `IntersectionApi::SetPlatform( backend )` takes a backend argument bitfield allows you to specify exactly which backends device will be enumurated.
55-
56-
## Build
57-
58-
### Windows
59-
- Create Visual Studio 2015 Solution
60-
61-
`cmake -G "Visual Studio 14 2015 Win64"`
62-
63-
### OSX
64-
- Install Homebrew
65-
66-
`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`
5+
RadeonRays 2.0 SDK (OpenCL) has been moved to 'legacy-2.0' branch.
676

68-
- Install OpenImageIO
7+
## Summary
698

70-
`brew install homebrew/science/openimageio`
9+
RadeonRays is a ray intersection acceleration library for heterogeneous hardware and software systems. AMD developed RadeonRays to help developers make the most of GPU, APUs and CPUs, and to eliminate the need to maintain hardware-dependent code.
7110

72-
- Make build folder and generate make files
11+
The library offers a well-defined C API for scene building and performing asynchronous ray intersection queries.
7312

74-
`mkdir build`
13+
RadeonRays is not limited to AMD hardware, a specific operating system or graphics framework. The library helps assure compatibility and best performance across a wide range of hardware platforms.
7514

76-
`cd build`
15+
## Backends
7716

78-
`cmake -DCMAKE_BUILD_TYPE=<Release or Debug> ..`
17+
The library supports the following graphics and GPGPU frameworks as its backends:
7918

80-
`make`
81-
82-
### Linux
83-
on Ubuntu:
84-
install complimentary libraries:
85-
86-
`sudo apt-get install g++`
87-
88-
install build dependencies:
89-
90-
`sudo apt-get install libopenimageio-dev libglew-dev freeglut3-dev`
91-
92-
Also make sure you have the `opencl-dev` headers installed. Then create the Makefile:
93-
94-
`mkdir build`
95-
96-
`cd build`
97-
98-
`cmake -DCMAKE_BUILD_TYPE=<Release ro Debug> ..`
99-
100-
`make`
101-
102-
### Options
103-
Available premake options:
104-
- `RR_USE_EMBREE` will enable the embree backend. Embree device will be the last one in IntersectionApi device list.
105-
example of usage :
106-
`cmake -DCMAKE_BUILD_TYPE=<Release ro Debug> -DRR_USE_EMBREE=ON ..`
107-
108-
- `RR_USE_OPENCL` will enable the OpenCL backend. If no other option is provided, this is the default
109-
110-
- `RR_SHARED_CALC` will build Calc (Compute Abstraction Layer) as a shared object. This means RadeonRays library does not directly depend on OpenCL and can be used on the systems where OpenCL is not available (with Embree backend).
111-
112-
## Run unit tests
113-
They need to be run from the <Radeon Rays_SDK path>/UnitTest path.
114-
CMake should be runned with the `RR_SAFE_MATH` option.
115-
116-
# Hardware support
117-
118-
The library has been tested on the following hardware and OSes:
119-
120-
## Linux
121-
- Ubuntu Linux 14.04
122-
- AMD FirePro driver 15.201: W9100, W8100, W9000, W7000, W7100, S9300x2, W5100
123-
- AMD Radeon driver 15.302: R9 Nano, R9 Fury X, R9 290
124-
- NVIDIA driver 352.79: GeForce GTX970, Titan X
125-
126-
## Windows
127-
- Windows 7/8.1/10
128-
- AMD FirePro driver 15.201: W9100, W8100, W9000, W7000, W7100, S9300x2, W5100
129-
- AMD Radeon driver 16.4: R9 Nano, R9 Fury X, R9 290, Pro Duo
130-
- NVIDIA driver 364.72: GeForce GTX970, Titan X
131-
132-
## OSX
133-
- OSX El Capitan 10.11.4
134-
- Mac Pro (Late 2013) AMD FirePro D500 x2
135-
- Macbook Pro Retina 13" (Early 2013) Intel HD 4300
136-
- Macbook 12" (Early 2015) Intel HD 5300
137-
138-
---
139-
# Known Issues
140-
## Vulkan
141-
142-
- Currently the public Anvil has a [bug](https://github.com/GPUOpen-LibrariesAndSDKs/Anvil/issues/3) that causes a crash on exit. Its already been fixed in an internal branch which will which will move to public when its cooked and ready. For now just comment out the free of the layout manager in Anvil::BasePipelineManager::Pipeline::release_vulkan_objects()
143-
144-
## Windows
145-
146-
## OSX
19+
- DirectX 12
20+
- Metal
21+
- Vulkan
14722

148-
## Linux
23+
## System Requirements
24+
RadeonRays requires a PC with the following software and hardware:
14925

150-
- If <CL/cl.h> is missing try to specify OpenCL SDK location.
151-
- If your are experiencing problems creating your CL context with a default config chances are CL-GL interop is broken on your system, try running the sample app with -interop 0 command line option (expect performance drop).
152-
153-
AMD:
154-
`export $AMDAPPSDKROOT=<SDK_PATH>`
155-
NVIDIA:
156-
`export $CUDA_PATH=<SDK_PATH>`
26+
- DirectX12: a 64-bit version of Windows® 10, and a GPU and drivers that supports DirectX12 features
27+
- Metal: a 64-bit version of MacOS® X 10.15 or later, and a discrete GPU that supports the MPS acceleration structure
28+
- Vulkan: a 64-bit version of Windows® 10 or Linux, and a GPU and drivers that support Vulkan version 1.2
29+
- Package Contents
30+
- The distributed RadeonRays package contains:

0 commit comments

Comments
 (0)