From 6e48a7d0d610d0559ec2ae65db666c780dafaf63 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Tue, 7 Apr 2020 11:33:19 +0300 Subject: [PATCH] [HIP][doc] Update docs due to moving of HIPIFY to a separate repo (#2001) [ROCm/hip commit: ff8d193b7ffe055b99a827b6e168687f637f66a8] --- projects/hip/README.md | 6 ++-- projects/hip/docs/doxygen-input/mainpage.txt | 2 +- projects/hip/docs/markdown/hip_faq.md | 30 ++++++++--------- .../hip/docs/markdown/hip_kernel_language.md | 4 +-- .../docs/markdown/hip_porting_driver_api.md | 4 +-- .../hip/docs/markdown/hip_porting_guide.md | 32 +++++++++---------- projects/hip/docs/markdown/hip_terms2.md | 12 +++---- projects/hip/packaging/convert_md_to_html.sh | 8 ++--- projects/hip/samples/0_Intro/square/README.md | 2 +- .../2_Cookbook/0_MatrixTranspose/Readme.md | 2 +- .../2_Cookbook/10_inline_asm/Readme.md | 2 +- .../12_cmake_hip_add_executable/Readme.md | 2 +- .../samples/2_Cookbook/1_hipEvent/Readme.md | 2 +- .../2_Cookbook/3_shared_memory/Readme.md | 2 +- .../hip/samples/2_Cookbook/4_shfl/Readme.md | 2 +- .../hip/samples/2_Cookbook/5_2dshfl/Readme.md | 2 +- .../2_Cookbook/6_dynamic_shared/Readme.md | 2 +- .../samples/2_Cookbook/7_streams/Readme.md | 2 +- .../hip/samples/2_Cookbook/9_unroll/Readme.md | 2 +- 19 files changed, 58 insertions(+), 62 deletions(-) diff --git a/projects/hip/README.md b/projects/hip/README.md index c2e2a7a456..13e7c8f335 100644 --- a/projects/hip/README.md +++ b/projects/hip/README.md @@ -7,7 +7,7 @@ Key features include: * HIP is very thin and has little or no performance impact over coding directly in CUDA or hcc "HC" mode. * HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more. * HIP allows developers to use the "best" development environment and tools on each target platform. -* The [HIPIFY](hipify-clang/README.md) tools automatically convert source from CUDA to HIP. +* The [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) tools automatically convert source from CUDA to HIP. * Developers can specialize for the platform (CUDA or hcc) to tune for performance or handle tricky cases New projects can be developed directly in the portable HIP C++ language and can run on either NVIDIA or AMD platforms. Additionally, HIP provides porting tools which make it easy to port existing CUDA codes to the HIP layer, with no loss of performance as compared to the original CUDA application. HIP is not intended to be a drop-in replacement for CUDA, and developers should expect to do some manual coding and performance tuning work to complete the port. @@ -37,7 +37,7 @@ HIP releases are typically of two types. The tag naming convention is different - [HIP Profiling ](docs/markdown/hip_profiling.md) - [HIP Debugging](docs/markdown/hip_debugging.md) - [HIP Terminology](docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenCL) -- [HIPIFY](hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - Supported CUDA APIs: * [Runtime API](docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md) * [Driver API](docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md) @@ -115,7 +115,7 @@ provides source portability to either platform. HIP provides the _hipcc_ compi ## Examples and Getting Started: -* A sample and [blog](http://gpuopen.com/hip-to-be-squared-an-introductory-hip-tutorial) that uses any of [HIPIFY](hipify-clang/README.md) tools to convert a simple app from CUDA to HIP: +* A sample and [blog](http://gpuopen.com/hip-to-be-squared-an-introductory-hip-tutorial) that uses any of [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) tools to convert a simple app from CUDA to HIP: ```shell diff --git a/projects/hip/docs/doxygen-input/mainpage.txt b/projects/hip/docs/doxygen-input/mainpage.txt index 48177198cc..b5dcae3956 100644 --- a/projects/hip/docs/doxygen-input/mainpage.txt +++ b/projects/hip/docs/doxygen-input/mainpage.txt @@ -10,7 +10,7 @@ * - HIP is very thin and has little or no performance impact over coding directly in CUDA NVCC or HCC HC mode. * - HIP allows developers to use the "best" development environment and tools on each target platform. * - HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas,and more. - * - "hipify" tool automatically converts source from CUDA to HIP. + * - "HIPIFY" tools automatically convert CUDA sources to HIP. * - Developers can specialize for CUDA or HCC to tune for performance or handle tricky cases with #ifdef. * - See the @ref API. diff --git a/projects/hip/docs/markdown/hip_faq.md b/projects/hip/docs/markdown/hip_faq.md index 0bbb797cc1..f8a7489fb7 100644 --- a/projects/hip/docs/markdown/hip_faq.md +++ b/projects/hip/docs/markdown/hip_faq.md @@ -12,7 +12,7 @@ - [How does HIP compare with OpenCL?](#how-does-hip-compare-with-opencl) - [How does porting CUDA to HIP compare to porting CUDA to OpenCL?](#how-does-porting-cuda-to-hip-compare-to-porting-cuda-to-opencl) - [What hardware does HIP support?](#what-hardware-does-hip-support) -- [Does Hipify automatically convert all source code?](#does-hipify-automatically-convert-all-source-code) +- [Do HIPIFY tools automatically convert all source code?](#do-hipify-tools-automatically-convert-all-source-code) - [What is NVCC?](#what-is-nvcc) - [What is HCC?](#what-is-hcc) - [Why use HIP rather than supporting CUDA directly?](#why-use-hip-rather-than-supporting-cuda-directly) @@ -79,23 +79,23 @@ scan code to identify any unsupported CUDA functions - this is useful for identi However, we can provide a rough summary of the features included in each CUDA SDK and the support level in HIP. Each bullet below lists the major new language features in each CUDA release and then indicate which are supported/not supported in HIP: -- CUDA 4.0 and earlier : +- CUDA 4.0 and earlier : - HIP supports CUDA 4.0 except for the limitations described above. -- CUDA 5.0 : +- CUDA 5.0 : - Dynamic Parallelism (not supported) - cuIpc functions (under development). -- CUDA 5.5 : +- CUDA 5.5 : - CUPTI (not directly supported, [AMD GPUPerfAPI](http://developer.amd.com/tools-and-sdks/graphics-development/gpuperfapi/) can be used as an alternative in some cases) -- CUDA 6.0 +- CUDA 6.0 : - Managed memory (under development) -- CUDA 6.5 +- CUDA 6.5 : - __shfl intriniscs (supported) -- CUDA 7.0 +- CUDA 7.0 : - Per-thread-streams (under development) - C++11 (HCC supports all of C++11, all of C++14 and some C++17 features) -- CUDA 7.5 +- CUDA 7.5 : - float16 (supported) -- CUDA 8.0 +- CUDA 8.0 : - Page Migration including cudaMemAdvise, cudaMemPrefetch, other cudaMem* APIs(not supported) @@ -108,8 +108,8 @@ The hip interfaces support both ROCm and CUDA paths, with familiar library inter - [hipfft](https://github.com/ROCmSoftwarePlatform/hcFFT) - [hipsparse](https://github.com/ROCmSoftwarePlatform/hcSPARSE) - [hiprng](https://github.com/ROCmSoftwarePlatform/hcrng) - -Additionally, some of the cublas routines are automatically converted to hipblas equivalents by the hipify-clang tool. These APIs use cublas or hcblas depending on the platform and replace the need + +Additionally, some of the cublas routines are automatically converted to hipblas equivalents by the HIPIFY tools. These APIs use cublas or hcblas depending on the platform and replace the need to use conditional compilation. ### How does HIP compare with OpenCL? @@ -126,7 +126,7 @@ HIP offers several benefits over OpenCL: ### How does porting CUDA to HIP compare to porting CUDA to OpenCL? Both HIP and CUDA are dialects of C++, and thus porting between them is relatively straightforward. Both dialects support templates, classes, lambdas, and other C++ constructs. -As one example, the hipify tool was originally a Perl script that used simple text conversions from CUDA to HIP. +As one example, the hipify-perl tool was originally a Perl script that used simple text conversions from CUDA to HIP. HIP and CUDA provide similar math library calls as well. In summary, the HIP philosophy was to make the HIP language close enough to CUDA that the porting effort is relatively simple. This reduces the potential for error, and also makes it easy to automate the translation. HIP's goal is to quickly get the ported program running on both platforms with little manual intervention, so that the programmer can focus on performance optimizations. @@ -140,11 +140,11 @@ The tools also struggle with more complex CUDA applications, in particular, thos - For AMD platforms, HIP runs on the same hardware that the HCC "hc" mode supports. See the ROCm documentation for the list of supported platforms. - For Nvidia platforms, HIP requires Unified Memory and should run on any device supporting CUDA SDK 6.0 or newer. We have tested the Nvidia Titan and Tesla K40. -### Does Hipify automatically convert all source code? -Typically, hipify can automatically convert almost all run-time code, and the coordinate indexing device code ( threadIdx.x -> hipThreadIdx_x ). +### Do HIPIFY tools automatically convert all source code? +Typically, HIPIFY tools can automatically convert almost all run-time code, and the coordinate indexing device code ( threadIdx.x -> hipThreadIdx_x ). Most device code needs no additional conversion since HIP and CUDA have similar names for math and built-in functions. The hipify-clang tool will automatically modify the kernel signature as needed (automating a step that used to be done manually). -Additional porting may be required to deal with architecture feature queries or with CUDA capabilities that HIP doesn't support. +Additional porting may be required to deal with architecture feature queries or with CUDA capabilities that HIP doesn't support. In general, developers should always expect to perform some platform-specific tuning and optimization. ### What is NVCC? diff --git a/projects/hip/docs/markdown/hip_kernel_language.md b/projects/hip/docs/markdown/hip_kernel_language.md index 04847101f6..395a343764 100644 --- a/projects/hip/docs/markdown/hip_kernel_language.md +++ b/projects/hip/docs/markdown/hip_kernel_language.md @@ -125,7 +125,7 @@ MyKernel<<>> (a,b,c,n); ``` -The hipLaunchKernel macro always starts with the five parameters specified above, followed by the kernel arguments. The Hipify script optionally converts Cuda launch syntax to hipLaunchKernel, including conversion of optional arguments in <<< >>> to the five required hipLaunchKernel parameters. The dim3 constructor accepts zero to three arguments and will by default initialize unspecified dimensions to 1. See [dim3](#dim3). The kernel uses the coordinate built-ins (hipThread*, hipBlock*, hipGrid*) to determine coordinate index and coordinate bounds of the work item that’s currently executing. See [Coordinate Built-Ins](#coordinate-builtins). +The hipLaunchKernel macro always starts with the five parameters specified above, followed by the kernel arguments. HIPIFY tools optionally convert Cuda launch syntax to hipLaunchKernel, including conversion of optional arguments in <<< >>> to the five required hipLaunchKernel parameters. The dim3 constructor accepts zero to three arguments and will by default initialize unspecified dimensions to 1. See [dim3](#dim3). The kernel uses the coordinate built-ins (hipThread*, hipBlock*, hipGrid*) to determine coordinate index and coordinate bounds of the work item that’s currently executing. See [Coordinate Built-Ins](#coordinate-builtins). ## Kernel-Launch Example @@ -724,7 +724,7 @@ CUDA defines a __launch_bounds which is also designed to control occupancy: __launch_bounds(MAX_THREADS_PER_BLOCK, MIN_BLOCKS_PER_MULTIPROCESSOR) ``` -- The second parameter __launch_bounds parameters must be converted to the format used __hip_launch_bounds, which uses warps and execution-units rather than blocks and multi-processors ( This conversion is performed automatically by the clang hipify tools.) +- The second parameter __launch_bounds parameters must be converted to the format used __hip_launch_bounds, which uses warps and execution-units rather than blocks and multi-processors (this conversion is performed automatically by hipify tools). ``` MIN_WARPS_PER_EXECUTION_UNIT = (MIN_BLOCKS_PER_MULTIPROCESSOR * MAX_THREADS_PER_BLOCK) / 32 ``` diff --git a/projects/hip/docs/markdown/hip_porting_driver_api.md b/projects/hip/docs/markdown/hip_porting_driver_api.md index 8e66780add..af70f35bb6 100644 --- a/projects/hip/docs/markdown/hip_porting_driver_api.md +++ b/projects/hip/docs/markdown/hip_porting_driver_api.md @@ -68,8 +68,8 @@ HIP provides a `Ctx` API as a thin layer over the existing Device functions. Thi The current context is implicitly used by other APIs such as `hipStreamCreate`. ### hipify translation of CUDA Driver API -The hipify tool converts CUDA Driver APIs for streams, events, modules, devices, memory management, context, profiler to the equivalent HIP driver calls. For example, `cuEventCreate` will be translated to `hipEventCreate`. -Hipify also converts error code from the Driver namespace and coding convention to the equivalent HIP error code. Thus, HIP unifies the APIs for these common functions. +The HIPIFY tools convert CUDA Driver APIs for streams, events, modules, devices, memory management, context, profiler to the equivalent HIP driver calls. For example, `cuEventCreate` will be translated to `hipEventCreate`. +HIPIFY tools also convert error codes from the Driver namespace and coding convention to the equivalent HIP error code. Thus, HIP unifies the APIs for these common functions. The memory copy API requires additional explanation. The CUDA driver includes the memory direction in the name of the API (ie `cuMemcpyH2D`) while the CUDA driver API provides a single memory copy API with a parameter that specifies the direction and additionally supports a "default" direction where the runtime determines the direction automatically. HIP provides APIs with both styles: for example, `hipMemcpyH2D` as well as `hipMemcpy`. diff --git a/projects/hip/docs/markdown/hip_porting_guide.md b/projects/hip/docs/markdown/hip_porting_guide.md index 4855fa4cea..c291fa8ae6 100644 --- a/projects/hip/docs/markdown/hip_porting_guide.md +++ b/projects/hip/docs/markdown/hip_porting_guide.md @@ -1,7 +1,7 @@ -# HIP Porting Guide +# HIP Porting Guide In addition to providing a portable C++ programming environment for GPUs, HIP is designed to ease the porting of existing CUDA code into the HIP environment. This section describes the available tools -and provides practical suggestions on how to port CUDA code and work through common issues. +and provides practical suggestions on how to port CUDA code and work through common issues. ## Table of Contents @@ -57,13 +57,13 @@ and provides practical suggestions on how to port CUDA code and work through com - Starting the port on a Cuda machine is often the easiest approach, since you can incrementally port pieces of the code to HIP while leaving the rest in Cuda. (Recall that on Cuda machines HIP is just a thin layer over Cuda, so the two code types can interoperate on nvcc platforms.) Also, the HIP port can be compared with the original Cuda code for function and performance. - Once the Cuda code is ported to HIP and is running on the Cuda machine, compile the HIP code using hcc on an AMD machine. - HIP ports can replace Cuda versions: HIP can deliver the same performance as a native Cuda implementation, with the benefit of portability to both Nvidia and AMD architectures as well as a path to future C++ standard support. You can handle platform-specific features through conditional compilation or by adding them to the open-source HIP infrastructure. -- Use **[bin/hipconvertinplace.sh](https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipconvertinplace.sh)** to hipify all code files in the Cuda source directory. +- Use **[bin/hipconvertinplace-perl.sh](https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipconvertinplace-perl.sh)** to hipify all code files in the Cuda source directory. ### Scanning existing CUDA code to scope the porting effort -The hipexamine.sh tool will scan a source directory to determine which files contain CUDA code and how much of that code can be automatically hipified, +The hipexamine-perl.sh tool will scan a source directory to determine which files contain CUDA code and how much of that code can be automatically hipified, ``` > cd examples/rodinia_3.0/cuda/kmeans -> $HIP_DIR/bin/hipexamine.sh . +> $HIP_DIR/bin/hipexamine-perl.sh. info: hipify ./kmeans.h =====> info: hipify ./unistd.h =====> info: hipify ./kmeans.c =====> @@ -80,7 +80,7 @@ info: TOTAL-converted 89 CUDA->HIP refs( dev:3 mem:32 kern:2 builtin:37 math:0 s kernels (1 total) : kmeansPoint(1) ``` -hipexamine scans each code file (cpp, c, h, hpp, etc.) found in the specified directory: +hipexamine-perl scans each code file (cpp, c, h, hpp, etc.) found in the specified directory: * Files with no CUDA code (ie kmeans.h) print one line summary just listing the source file name. * Files with CUDA code print a summary of what was found - for example the kmeans_cuda_kernel.cu file: @@ -94,7 +94,7 @@ info: hipify ./kmeans_cuda_kernel.cu =====> * Warning for code that looks like CUDA API but was not converted (0 in this file). * Count Lines-of-Code (LOC) - 185 for this file. -* hipexamine also presents a summary at the end of the process for the statistics collected across all files. This has similar format to the per-file reporting, and also includes a list of all kernels which have been called. An example from above: +* hipexamine-perl also presents a summary at the end of the process for the statistics collected across all files. This has similar format to the per-file reporting, and also includes a list of all kernels which have been called. An example from above: ```shell info: TOTAL-converted 89 CUDA->HIP refs( dev:3 mem:32 kern:2 builtin:37 math:0 stream:0 event:0 err:0 def:0 tex:15 other:0 ) warn:0 LOC:3607 @@ -104,24 +104,24 @@ info: TOTAL-converted 89 CUDA->HIP refs( dev:3 mem:32 kern:2 builtin:37 math:0 s ### Converting a project "in-place" ```shell -> hipify --inplace +> hipify-perl --inplace ``` For each input file FILE, this script will: - - If "FILE.prehip file does not exist, copy the original code to a new file with extension ".prehip". Then Hipify the code file. - - If "FILE.prehip" file exists, hipify FILE.prehip and save to FILE. + - If "FILE.prehip file does not exist, copy the original code to a new file with extension ".prehip". Then hipify the code file. + - If "FILE.prehip" file exists, hipify FILE.prehip and save to FILE. This is useful for testing improvements to the hipify toolset. -The [hipconvertinplace.sh](https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipconvertinplace.sh) script will perform inplace conversion for all code files in the specified directory. +The [hipconvertinplace-perl.sh](https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipconvertinplace-perl.sh) script will perform inplace conversion for all code files in the specified directory. This can be quite handy when dealing with an existing CUDA code base since the script preserves the existing directory structure and filenames - and includes work. After converting in-place, you can review the code to add additional parameters to directory names. ```shell -> hipconvertinplace.sh MY_SRC_DIR +> hipconvertinplace-perl.sh MY_SRC_DIR ``` ### Library Equivalents @@ -402,11 +402,11 @@ You can capture the hipconfig output and passed it to the standard compiler; bel CPPFLAGS += $(shell $(HIP_PATH)/bin/hipconfig --cpp_config) ``` -nvcc includes some headers by default. However, HIP does not include default headers, and instead all required files must be explicitly included. -Specifically, files that call HIP run-time APIs or define HIP kernels must explicitly include the appropriate HIP headers. +nvcc includes some headers by default. However, HIP does not include default headers, and instead all required files must be explicitly included. +Specifically, files that call HIP run-time APIs or define HIP kernels must explicitly include the appropriate HIP headers. If the compilation process reports that it cannot find necessary APIs (for example, "error: identifier ‘hipSetDevice’ is undefined"), -ensure that the file includes hip_runtime.h (or hip_runtime_api.h, if appropriate). -The hipify script automatically converts "cuda_runtime.h" to "hip_runtime.h," and it converts "cuda_runtime_api.h" to "hip_runtime_api.h", but it may miss nested headers or macros. +ensure that the file includes hip_runtime.h (or hip_runtime_api.h, if appropriate). +The hipify-perl script automatically converts "cuda_runtime.h" to "hip_runtime.h," and it converts "cuda_runtime_api.h" to "hip_runtime_api.h", but it may miss nested headers or macros. #### cuda.h diff --git a/projects/hip/docs/markdown/hip_terms2.md b/projects/hip/docs/markdown/hip_terms2.md index be859ffb32..3b4661729d 100644 --- a/projects/hip/docs/markdown/hip_terms2.md +++ b/projects/hip/docs/markdown/hip_terms2.md @@ -1,18 +1,18 @@ # Terms used in HIP Documentation -- host, host cpu : Executes the HIP runtime API and is capable of initiating kernel launches to one or more devices. -- default device : Each host thread maintains a "default device". +- host, host cpu : Executes the HIP runtime API and is capable of initiating kernel launches to one or more devices. +- default device : Each host thread maintains a "default device". Most HIP runtime APIs (including memory allocation, copy commands, kernel launches) do not use accept an explicit device argument but instead implicitly use the default device. The default device can be set with hipSetDevice. -- "active host thread" - the thread which is running the HIP APIs. +- "active host thread" - the thread which is running the HIP APIs. -- completion_future becomes ready. "Completes" +- completion_future becomes ready. "Completes". -- hcc = Heterogeneous Compute Compiler (https://bitbucket.org/multicoreware/hcc/wiki/Home). +- hcc = Heterogeneous Compute Compiler (https://bitbucket.org/multicoreware/hcc/wiki/Home). -- hipify - tool to convert CUDA(R) code to portable C++ code. +- hipify tools - tools to convert CUDA(R) code to portable C++ code (https://github.com/ROCm-Developer-Tools/HIPIFY). - hipconfig - tool to report various configuration properties of the target platform. - nvcc = nvcc compiler, do not capitalize. diff --git a/projects/hip/packaging/convert_md_to_html.sh b/projects/hip/packaging/convert_md_to_html.sh index e6442a9ef2..fc222914bb 100755 --- a/projects/hip/packaging/convert_md_to_html.sh +++ b/projects/hip/packaging/convert_md_to_html.sh @@ -21,24 +21,22 @@ trap cleanup EXIT export GRIPURL=$hip_srcdir export GRIPHOME=$workdir echo "CACHE_DIRECTORY = '$html_destdir/asset'" > $workdir/settings.py -mkdir -p $html_destdir $html_destdir/hipify-clang $html_destdir/docs/markdown +mkdir -p $html_destdir $html_destdir/docs/markdown # convert all md files to html pushd $hip_srcdir -for f in *.md hipify-clang/*.md docs/markdown/*.md; do grip --export --no-inline $f $html_destdir/${f%.*}.html; done +for f in *.md docs/markdown/*.md; do grip --export --no-inline $f $html_destdir/${f%.*}.html; done popd # convert absolute links to relative links pushd $html_destdir for f in *.html; do sed -i "s?$GRIPURL/??g" $f; done -for f in hipify-clang/*.html; do sed -i "s?$GRIPURL/?../?g" $f; done for f in docs/markdown/*.html; do sed -i "s?$GRIPURL/?../../?g" $f; done popd # update document titles pushd $html_destdir for f in *.html; do sed -i "s?.md - Grip??g" $f; done -for f in hipify-clang/*.html; do sed -i "s?.md - Grip??g" $f; done for f in docs/markdown/*.html; do sed -i "s?.md - Grip??g" $f; done popd @@ -46,8 +44,6 @@ popd pushd $html_destdir for f in *.html; do sed -i "s?.md\"?.html\"?g" $f; done for f in *.html; do sed -i "s?.md#?.html#?g" $f; done -for f in hipify-clang/*.html; do sed -i "s?.md\"?.html\"?g" $f; done -for f in hipify-clang/*.html; do sed -i "s?.md#?.html#?g" $f; done for f in docs/markdown/*.html; do sed -i "s?.md\"?.html\"?g" $f; done for f in docs/markdown/*.html; do sed -i "s?.md#?.html#?g" $f; done popd diff --git a/projects/hip/samples/0_Intro/square/README.md b/projects/hip/samples/0_Intro/square/README.md index 7a9e04fc5f..c185903993 100644 --- a/projects/hip/samples/0_Intro/square/README.md +++ b/projects/hip/samples/0_Intro/square/README.md @@ -1,6 +1,6 @@ # Square.md -Simple test which shows how to use hipify to port CUDA code to HIP. +Simple test which shows how to use hipify-perl to port CUDA code to HIP. See related [blog](http://gpuopen.com/hip-to-be-squared-an-introductory-hip-tutorial) that explains the example. Now it is even simpler and requires no manual modification to the hipified source code - just hipify and compile: diff --git a/projects/hip/samples/2_Cookbook/0_MatrixTranspose/Readme.md b/projects/hip/samples/2_Cookbook/0_MatrixTranspose/Readme.md index 9e1a342a07..432f9180dc 100644 --- a/projects/hip/samples/2_Cookbook/0_MatrixTranspose/Readme.md +++ b/projects/hip/samples/2_Cookbook/0_MatrixTranspose/Readme.md @@ -96,6 +96,6 @@ Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/10_inline_asm/Readme.md b/projects/hip/samples/2_Cookbook/10_inline_asm/Readme.md index f65bbdcf20..e86085b648 100644 --- a/projects/hip/samples/2_Cookbook/10_inline_asm/Readme.md +++ b/projects/hip/samples/2_Cookbook/10_inline_asm/Readme.md @@ -55,6 +55,6 @@ Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md b/projects/hip/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md index 1430e58ecc..937da30af0 100644 --- a/projects/hip/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md +++ b/projects/hip/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md @@ -48,6 +48,6 @@ make - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/1_hipEvent/Readme.md b/projects/hip/samples/2_Cookbook/1_hipEvent/Readme.md index c12c76e701..2bd389e25e 100644 --- a/projects/hip/samples/2_Cookbook/1_hipEvent/Readme.md +++ b/projects/hip/samples/2_Cookbook/1_hipEvent/Readme.md @@ -75,6 +75,6 @@ Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/3_shared_memory/Readme.md b/projects/hip/samples/2_Cookbook/3_shared_memory/Readme.md index ad23d58f73..756cb6e7f2 100644 --- a/projects/hip/samples/2_Cookbook/3_shared_memory/Readme.md +++ b/projects/hip/samples/2_Cookbook/3_shared_memory/Readme.md @@ -37,6 +37,6 @@ Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/4_shfl/Readme.md b/projects/hip/samples/2_Cookbook/4_shfl/Readme.md index 6adc98fb4e..ac5dff9292 100644 --- a/projects/hip/samples/2_Cookbook/4_shfl/Readme.md +++ b/projects/hip/samples/2_Cookbook/4_shfl/Readme.md @@ -48,6 +48,6 @@ please make sure you have a 3.0 or higher compute capable device in order to use - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/5_2dshfl/Readme.md b/projects/hip/samples/2_Cookbook/5_2dshfl/Readme.md index cc9484377b..fa10c71d6c 100644 --- a/projects/hip/samples/2_Cookbook/5_2dshfl/Readme.md +++ b/projects/hip/samples/2_Cookbook/5_2dshfl/Readme.md @@ -50,6 +50,6 @@ please make sure you have a 3.0 or higher compute capable device in order to use - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/6_dynamic_shared/Readme.md b/projects/hip/samples/2_Cookbook/6_dynamic_shared/Readme.md index 047cc94278..68782807bf 100644 --- a/projects/hip/samples/2_Cookbook/6_dynamic_shared/Readme.md +++ b/projects/hip/samples/2_Cookbook/6_dynamic_shared/Readme.md @@ -44,6 +44,6 @@ Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/7_streams/Readme.md b/projects/hip/samples/2_Cookbook/7_streams/Readme.md index 1c9186791c..14b6a9762a 100644 --- a/projects/hip/samples/2_Cookbook/7_streams/Readme.md +++ b/projects/hip/samples/2_Cookbook/7_streams/Readme.md @@ -58,6 +58,6 @@ Use hipcc to build the application, which is using hcc on AMD and nvcc on nvidia - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md) diff --git a/projects/hip/samples/2_Cookbook/9_unroll/Readme.md b/projects/hip/samples/2_Cookbook/9_unroll/Readme.md index c6b8a8cf35..6fad55e3c9 100644 --- a/projects/hip/samples/2_Cookbook/9_unroll/Readme.md +++ b/projects/hip/samples/2_Cookbook/9_unroll/Readme.md @@ -43,6 +43,6 @@ please make sure you have a 3.0 or higher compute capable device in order to use - [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP) - [HIP Porting Guide](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md) - [HIP Terminology](https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) -- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIP/blob/master/hipify-clang/README.md) +- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md) - [Developer/CONTRIBUTING Info](https://github.com/ROCm-Developer-Tools/HIP/blob/master/CONTRIBUTING.md) - [Release Notes](https://github.com/ROCm-Developer-Tools/HIP/blob/master/RELEASE.md)