diff --git a/README.md b/README.md index 810c378436..39c1092c63 100644 --- a/README.md +++ b/README.md @@ -34,30 +34,34 @@ Make sure HIP_PATH is pointed to `/where/to/install/hip` and PATH includes `$HIP ## How do I get set up? ### Prerequisites - Choose Your Platform -HIP code can be developed either on AMD HSA or Boltzmann platform using hcc compiler, or a CUDA platform with nvcc installed: +HIP code can be developed either on AMD ROCm platform using hcc compiler, or a CUDA platform with nvcc installed: #### AMD (hcc): * Install [hcc](https://bitbucket.org/multicoreware/hcc/wiki/Home) including supporting HSA kernel and runtime driver stack -* By default HIP looks for hcc in /opt/hcc (can be overridden by setting HCC_HOME environment variable) -* By default HIP looks for HSA in /opt/hsa (can be overridden by setting HSA_PATH environment variable) +* By default HIP looks for hcc in /opt/rocm/hcc (can be overridden by setting HCC_HOME environment variable) +* By default HIP looks for HSA in /opt/rocm/hsa (can be overridden by setting HSA_PATH environment variable) * Ensure that ROCR runtime is installed and added to LD_LIBRARY_PATH +* Install HIP (from this GitHub repot). By default HIP is installed into /opt/rocm/hip (can be overridden by setting HIP_PATH environment variable). + +* Optionally, consider adding /opt/rocm/bin to your path to make it easier to use the tools. #### NVIDIA (nvcc) * Install CUDA SDK from manufacturer website * By default HIP looks for CUDA SDK in /usr/local/cuda (can be overriden by setting CUDA_PATH env variable) -### Add HIP/bin to your path. -For example, if this repot is cloned to ~/HIP, and you are running bash: ``` -> export PATH=$PATH:~/HIP/bin + +#### Verify your installation +Run hipconfig (instructions below assume default installation path) : ``` -Verify your can find hipconfig (one of the hip tools in bin dir): -``` -> hipconfig -pn -/home/me/HIP +> /opt/rocm/bin/hipconfig --full ``` +Compile and run the [square sample](https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/tree/master/samples/0_Intro/square). + + + ### HCC Options #### Compiling CodeXL markers for HIP Functions diff --git a/docs/markdown/hip_faq.md b/docs/markdown/hip_faq.md index 1a62784100..f1d8c607ea 100644 --- a/docs/markdown/hip_faq.md +++ b/docs/markdown/hip_faq.md @@ -107,9 +107,15 @@ HIP is a portable C++ language that supports a strong subset of the CUDA run-tim A C++ dialect, hc is supported by the AMD HCC compiler. It provides C++ run time, C++ kernel-launch APIs (parallel_for_each), C++ kernel language, and several memory-management options, including pointers, arrays and array_view (with implicit data synchronization). It's intended to be a leading indicator of the ISO C++ standard. + ### HIP detected my platform (hcc vs nvcc) incorrectly - what should I do? + HIP will set the platform to HCC if it sees that the AMD graphics driver is installed and has detected an AMD GPU. Sometimes this isn't what you want - you can force HIP to recognize the platform by setting HIP_PLATFORM to hcc (or nvcc) ``` export HIP_PLATFORM=hcc + ``` +One symptom of this problem is the message "error: 'unknown error'(11) at square.hipref.cpp:56". This can occur if you have a CUDA installation on an AMD platform, and HIP incorrectly detects the platform as nvcc. HIP may be able to compile the application using the nvcc tool-chain, but will generate this error at runtime since the platform does not have a CUDA device. The fix is to set HIP_PLATFORM=hcc and rebuild the issue. + +If you see issues related to incorrect platform detection, please file an issue with the GitHub issue tracker so we can improve HIP's platform detection logic.