Make HCC ignore register keyword

- (previously would emit a warning)
- Also tweak documentation.

Change-Id: I0f4f00f82f8cc53d420112570f2d7675535e6aea


[ROCm/clr commit: b9e48d6066]
This commit is contained in:
Ben Sander
2016-07-25 10:15:02 -05:00
orang tua e207805f81
melakukan 4094170fd7
5 mengubah file dengan 9 tambahan dan 5 penghapusan
+4 -1
Melihat File
@@ -5,7 +5,10 @@ We have attempted to document known bugs and limitations - in particular the [HI
===================================================================================================
Upcoming:
- hipLaunchKernel supports one-dimensional grid and/or block dims, without explicit cast to dim3 type.
- Stability: Enforce perioidic host synchronization to reclaim resources if the application has launched a large
number of commands (>10K) without synchronizing.
- Doc updates: Add some more frequently asked questions to FAQ, fix TOC in some files, review.
- Register keyword now silently ignored on HCC (previously would emit warning).
===================================================================================================
Release:0.90.00
Date: 2016.06.29
+1
Melihat File
@@ -73,6 +73,7 @@ if ($HIP_PLATFORM eq "hcc") {
$HIPCXXFLAGS .= " -I$HIP_PATH/include/hcc_detail/cuda";
$HIPCXXFLAGS .= " -I$HSA_PATH/include";
$HIPCXXFLAGS .= " -Wno-deprecated-register";
$HIPLDFLAGS = "-hc -L$HCC_HOME/lib -Wl,--rpath=$HCC_HOME/lib -lc++ -ldl -lpthread -Wl,--whole-archive -lmcwamp -Wl,--no-whole-archive";
# Suppress linker warnings in case HCC distribution contains OpenCL/SPIR symbols
@@ -25,7 +25,7 @@
| `cudaIpcOpenEventHandle` | | Opens an interprocess event handle for use in the current process. |
| `cudaIpcOpenMemHandle` | | Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process. |
| `cudaSetDevice` | `hipSetDevice` | Set device to be used for GPU executions. |
| `cudaSetDeviceFlags` | | Sets flags to be used for device executions. |
| `cudaSetDeviceFlags` | `hipSetDeviceFlags` | Sets flags to be used for device executions. |
| `cudaSetValidDevices` | | Set a list of devices that can be used for CUDA. |`
**2. Error Handling**
@@ -56,7 +56,7 @@ No. HIP provides porting tools which do most of the work do convert CUDA code in
Most developers will port their code from CUDA to HIP and then maintain the HIP version.
HIP code provides the same performance as coding in native CUDA, plus the benefit that the code can also run on AMD platforms.
### What version of CUDA is supported?<a name="Q4"></a>
### What specific version of CUDA does HIP support?<a name="Q4"></a>
HIP APIs and features do not map to a specific CUDA version. HIP provides a strong subset of functionality provided in CUDA, and the hipify tools can
scan code to identify any unsupported CUDA functions - this is very useful for identifying the specific features required by a given application.
@@ -628,12 +628,12 @@ The compiler ensures that the kernel uses fewer registers than both allowed maxi
HIP/hcc will parse the `launch_bounds` attribute but silently ignores the performance hint. Full support is under development.
The hcc compiler does not support the "--maxregcount" option like nvcc. Instead, users are encouraged to use the hip_launch_bounds directive since the parameters are more intuitive and portable than
Unlike nvcc, hcc does not support the "--maxregcount" option. Instead, users are encouraged to use the hip_launch_bounds directive since the parameters are more intuitive and portable than
micro-architecture details like registers, and also the directive allows per-kernel control rather than an entire file. hip_launch_bounds works on both hcc and nvcc targets.
## Register Keyword
The register keyword affects code generation in neither nvcc nor hcc. Its deprecated in standard C++, so hcc will generate a warning. (nvcc silently ignores use of this keyword.) To disable the warning, you can pass the option `-Wno-deprecated-register` to hcc.
The register keyword is deprecated in C++, and is silently ignored by both nvcc and hcc. To see warnings, you can pass the option `-Wdeprecated-register` to hcc.
## Pragma Unroll