Merge branch 'master' into add_bindtextoarrayref_overload_api
[ROCm/clr commit: afe1396b35]
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
# HIP Deprecated API List
|
||||
# HIP Deprecated APIs
|
||||
|
||||
## HIP Context API
|
||||
|
||||
CUDA supports cuCtx API, the Driver API that defines "Context" and "Devices" as separate entities. Contexts contain a single device, and a device can theoretically have multiple contexts. HIP initially added limited support for these API to facilitate easy porting from existing driver codes. These API are marked as deprecated now since there are better alternate interface (such as hipSetDevice or the stream API) to achieve the required functions.
|
||||
|
||||
###hipCtxCreate
|
||||
###hipCtxDestroy
|
||||
###hipCtxPopCurrent
|
||||
###hipCtxPushCurrent
|
||||
###hipCtxSetCurrent
|
||||
###hipCtxGetCurrent
|
||||
###hipCtxGetDevice
|
||||
###hipCtxGetApiVersion
|
||||
###hipCtxGetCacheConfig
|
||||
###hipCtxSetCacheConfig
|
||||
###hipCtxSetSharedMemConfig
|
||||
###hipCtxGetSharedMemConfig
|
||||
###hipCtxSynchronize
|
||||
###hipCtxGetFlags
|
||||
###hipCtxEnablePeerAccess
|
||||
###hipCtxDisablePeerAccess
|
||||
### hipCtxCreate
|
||||
### hipCtxDestroy
|
||||
### hipCtxPopCurrent
|
||||
### hipCtxPushCurrent
|
||||
### hipCtxSetCurrent
|
||||
### hipCtxGetCurrent
|
||||
### hipCtxGetDevice
|
||||
### hipCtxGetApiVersion
|
||||
### hipCtxGetCacheConfig
|
||||
### hipCtxSetCacheConfig
|
||||
### hipCtxSetSharedMemConfig
|
||||
### hipCtxGetSharedMemConfig
|
||||
### hipCtxSynchronize
|
||||
### hipCtxGetFlags
|
||||
### hipCtxEnablePeerAccess
|
||||
### hipCtxDisablePeerAccess
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
| 4.0.1 | 8.0 |
|
||||
| 5.0.0 | 8.0 |
|
||||
| 5.0.1 | 8.0 |
|
||||
| 5.0.2 | 8.0 |
|
||||
| 6.0.0 | 9.0 |
|
||||
| 6.0.1 | 9.0 |
|
||||
|
||||
In most cases, you can get a suitable version of LLVM+CLANG with your package manager.
|
||||
|
||||
@@ -80,7 +82,7 @@ To run it:
|
||||
cmake \
|
||||
-DCMAKE_INSTALL_PREFIX=../dist \
|
||||
-DLLVM_SOURCE_DIR=../llvm \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-Thost=x64 \
|
||||
../llvm
|
||||
|
||||
@@ -114,9 +116,9 @@ To run it:
|
||||
|
||||
* Starting with LLVM 6.0.0 path to llvm-lit.py script should be specified by the `LLVM_EXTERNAL_LIT` option:
|
||||
|
||||
`-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.0/build/Debug/bin/llvm-lit.py`,
|
||||
`-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.0/build/Release/bin/llvm-lit.py`,
|
||||
|
||||
where `f:/LLVM/6.0.0/build/Debug` is LLVM build directory.
|
||||
where `f:/LLVM/6.0.0/build/Release` is LLVM build directory.
|
||||
7. Build with the `HIPIFY_CLANG_TESTS` option turned on: -DHIPIFY_CLANG_TESTS=1.
|
||||
8. `make test-hipify`
|
||||
|
||||
@@ -124,9 +126,15 @@ To run it:
|
||||
|
||||
### Windows
|
||||
|
||||
On Windows the following tested configuration is recommended:
|
||||
On Windows the following configurations are tested:
|
||||
|
||||
LLVM 6.0.0 (exact), CUDA 9.0 (exact), cudnn-9.0 (exact), Python 3.6 (min), cmake 3.10 (min), Visual Studio 15.5 2017 (min).
|
||||
LLVM 6.0.0 - 6.0.1, CUDA 9.0, cudnn-9.0
|
||||
|
||||
LLVM 5.0.0 - 5.0.2, CUDA 8.0, cudnn-8.0
|
||||
|
||||
Build system for the above configurations:
|
||||
|
||||
Python 3.6 (min), cmake 3.10 (min), Visual Studio 15.5 2017 (min).
|
||||
|
||||
Here is an example of building `hipify-clang` with testing support on `Windows 10` by `Visual Studio 15 2017`:
|
||||
|
||||
@@ -134,13 +142,14 @@ Here is an example of building `hipify-clang` with testing support on `Windows 1
|
||||
cmake
|
||||
-G "Visual Studio 15 2017 Win64" \
|
||||
-DHIPIFY_CLANG_TESTS=1 \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../dist \
|
||||
-DCMAKE_PREFIX_PATH=f:/LLVM/6.0.0/dist \
|
||||
-DCUDA_TOOLKIT_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0" \
|
||||
-DCUDA_SDK_ROOT_DIR="c:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.0" \
|
||||
-DCUDA_DNN_ROOT_DIR=f:/CUDNN/cudnn-9.0-windows10-x64-v7.1 \
|
||||
-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.0/build/Debug/bin/llvm-lit.py \
|
||||
-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.0/build/Release/bin/llvm-lit.py \
|
||||
-Thost=x64
|
||||
..
|
||||
```
|
||||
A corresponding successful output:
|
||||
|
||||
@@ -163,6 +163,7 @@ typedef cudaSurfaceObject_t hipSurfaceObject_t;
|
||||
#define hipTextureType1D cudaTextureType1D
|
||||
#define hipTextureType1DLayered cudaTextureType1DLayered
|
||||
#define hipTextureType2D cudaTextureType2D
|
||||
#define hipTextureType2DLayered cudaTextureType2DLayered
|
||||
#define hipTextureType3D cudaTextureType3D
|
||||
#define hipDeviceMapHost cudaDeviceMapHost
|
||||
|
||||
@@ -1168,20 +1169,20 @@ inline static hipError_t hipOccupancyMaxPotentialBlockSize(int* minGridSize, int
|
||||
return hipCUDAErrorTohipError(cerror);
|
||||
}
|
||||
|
||||
template <class T, int dim, enum cudaTextureReadMode readMode>
|
||||
template <class T, int dim, enum hipTextureReadMode readMode>
|
||||
inline static hipError_t hipBindTexture(size_t* offset, const struct texture<T, dim, readMode>& tex,
|
||||
const void* devPtr, size_t size = UINT_MAX) {
|
||||
return hipCUDAErrorTohipError(cudaBindTexture(offset, tex, devPtr, size));
|
||||
}
|
||||
|
||||
template <class T, int dim, enum cudaTextureReadMode readMode>
|
||||
template <class T, int dim, enum hipTextureReadMode readMode>
|
||||
inline static hipError_t hipBindTexture(size_t* offset, struct texture<T, dim, readMode>& tex,
|
||||
const void* devPtr, const struct hipChannelFormatDesc& desc,
|
||||
size_t size = UINT_MAX) {
|
||||
return hipCUDAErrorTohipError(cudaBindTexture(offset, tex, devPtr, desc, size));
|
||||
}
|
||||
|
||||
template <class T, int dim, enum cudaTextureReadMode readMode>
|
||||
template <class T, int dim, enum hipTextureReadMode readMode>
|
||||
inline static hipError_t hipUnbindTexture(struct texture<T, dim, readMode>* tex) {
|
||||
return hipCUDAErrorTohipError(cudaUnbindTexture(tex));
|
||||
}
|
||||
@@ -1205,7 +1206,7 @@ inline static hipError_t hipBindTextureToArray(struct texture<T, dim, readMode>
|
||||
return hipCUDAErrorTohipError(cudaBindTextureToArray(tex, array, desc));
|
||||
}
|
||||
|
||||
template <class T, int dim, enum cudaTextureReadMode readMode>
|
||||
template <class T, int dim, enum hipTextureReadMode readMode>
|
||||
inline static hipError_t hipBindTextureToArray(struct texture<T, dim, readMode>& tex,
|
||||
hipArray_const_t array) {
|
||||
return hipCUDAErrorTohipError(cudaBindTextureToArray(tex, array));
|
||||
|
||||
@@ -1680,12 +1680,9 @@ hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t sp
|
||||
actualDest = pinnedPtr;
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
if((width == dpitch) && (width == spitch)) {
|
||||
hip_internal::memcpyAsync(dst, src, width*height, kind, stream);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
} else {
|
||||
try {
|
||||
if(!isLocked){
|
||||
for (int i = 0; i < height; ++i)
|
||||
|
||||
@@ -389,7 +389,8 @@ hipError_t ihipBindTextureImpl(int dim, enum hipTextureReadMode readMode, size_t
|
||||
enum hipTextureFilterMode filterMode = tex->filterMode;
|
||||
int normalizedCoords = tex->normalized;
|
||||
hipTextureObject_t& textureObject = tex->textureObject;
|
||||
*offset = 0;
|
||||
if(offset != nullptr)
|
||||
*offset = 0;
|
||||
auto ctx = ihipGetTlsDefaultCtx();
|
||||
if (ctx) {
|
||||
hc::accelerator acc = ctx->getDevice()->_acc;
|
||||
@@ -459,7 +460,8 @@ hipError_t ihipBindTexture2DImpl(int dim, enum hipTextureReadMode readMode, size
|
||||
enum hipTextureFilterMode filterMode = tex->filterMode;
|
||||
int normalizedCoords = tex->normalized;
|
||||
hipTextureObject_t& textureObject = tex->textureObject;
|
||||
*offset = 0;
|
||||
if(offset != nullptr)
|
||||
*offset = 0;
|
||||
auto ctx = ihipGetTlsDefaultCtx();
|
||||
if (ctx) {
|
||||
hc::accelerator acc = ctx->getDevice()->_acc;
|
||||
|
||||
مرجع در شماره جدید
Block a user