On Windows there's something fundamentally broken about redirecting IO
into a file and then restoring that said IO to it's original state. Even
though no syscalls would fail, the output would sometimes either go into
CLI or straight up nowhere.
Simply using pipes instead of a temporary file magically resolves the
above issue ¯\_(ツ)_/¯
Unfortunately the max pipe size on Linux is 1Mb, which is not enough to
store all the data printed by the kernel. This leads to a softhang in
vprintf().
Stick to using a temporary file on Linux, but switch to pipes on
Windows. Slightly refactor the CaptureStream struct to accomadate this
difference.
Change-Id: Id8e68f150df47815a4f652ee2bcd6cfb7c3e3bac
[ROCm/clr commit: 55377dfee2]
The following snippets has different behaviour based on platform.
printf("%p", 0x123abc);
Linux -> 0x123abc
Windows -> 123ABC
printf("%p", nullptr);
Linux -> (nil)
Windows -> 0000000000000000
%p specifier according to C spec is implementation defined, so we need
to adjust the reference string to be correct on Windows.
Change-Id: I7059fa0f6cde611718bd76655637670fcbccf43c
[ROCm/clr commit: 4dd4d8c05f]
[dtest] Tests for hipEvent related APIs
Added Negative scenarios for hipEvent related APIs
1. Verifying all hipEvent related APIs by passing nullptr.
2. Pass illegal/unknown flag to hipEventCreateWithFlags API
Change-Id: Ia0a24065d16fe0f5ee28a88e280c25c1be0c3590
[ROCm/clr commit: 2a0593258c]
runtimeApi/event/hipEventElapsedTime will report invalid resource error
on cuda due to wrong calling sequence. The fix will arrange the calling
in right sequence.
Change-Id: I3db28a962888566ea135e3cbdefa68d373e2d369
[ROCm/clr commit: b9cf12e920]
memory/hipMalloc_MultiThreaded_MultiGpu costs too much time to finish.
1 GPU: about 1000s, 2 GPUs: about 2200s
But Jenkin build need quick return and ctest will kill test that last
1500+s. So we need shorten the test time.
Change-Id: I3db27a962808566ea135e3cbdefa66d373e2d369
[ROCm/clr commit: 657a515e60]
Exclude gcc/LaunchKernel from static lib as
it's shared lib test case only
Change-Id: I3db17a962808565ea135e3cbcefa66d373e2d364
[ROCm/clr commit: f055582473]
1. Added 1 scenario to validate value of deviceProp.arch.has* with
value of __HIP_ARCH_HAS_* device flag.
SWDEV-238517 - Enhancing hip unit tests
Change-Id: Idb237a76b75180ce77808853a5351f19077a0d33
[ROCm/clr commit: a28c367ed0]
Added a test to generate a code object for multiple target
architectures (including for the current device),
load and execute the kernel.
SWDEV-238517 for enhancing hip unit tests
Change-Id: I509d01124abdc0495cfc770ab5508738f108c91c
[ROCm/clr commit: 05409f05d0]
tests/src/runtimeApi/module/hipModuleLaunchKernel.cpp doesn't
need hip_ext.h which will fail cuda building. So remove it
Change-Id: Icf5763449ccec839d9efda90ffe3a86fb53bdb85
[ROCm/clr commit: a6176099cf]
Fix for kernel execution time using clock rate
SWDEV-238517 for enhancing hip unit tests
Change-Id: Id06df31387ecab96f219e0c1fbcdda1609f75605
[ROCm/clr commit: d27db0f038]
Remove __HCC__, __HCC_ONLY__, __HCC_CPP__, __HCC_C__,
__HCC_OR_HIP_CLANG__, __HIP_ROCclr__ and their guarded codes.
Remove Hcc codes from directed_tests and samples.
Remove __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__ from
some files where they are not necessary.
Add deprecation notice.
Change-Id: I1ae467eafd749d6c25bca204c1724b026be21fce
[ROCm/clr commit: d504a761ad]
Added test scenarios for hipExtLaunchKernelGGL
1. verify kernel execution time using events
passed through argument
2. Verify the API by disabling time flag in
event creation.
SWDEV-238517 for enhancing hip unit tests
Change-Id: I755adc34a25c58b68041fc927bbffd2a9e6eafde
[ROCm/clr commit: ec794ae051]
Added test scenarios for hipExtModuleLaunchKernel/hipModuleLaunchKernel APIs
1. Negative Test Scenarios for hipExtModuleLaunchKernel API
2. Negative Test Scenarios for hipModuleLaunchKernel API
3. hipExtModuleLaunchKernel API Concurrency Verification
using global variable
4. hipExtModuleLaunchKernel API Concurrency Verification
using total time taken by kernels.
5. hipExtModuleLaunchKernel API verifying the kernel execution time
of a particular kernel
6. hipExtModuleLaunchKernel API verifying by disabling the
time flag during event creation
SWDEV-238517 for enhancing hip unit tests
Change-Id: I33bbab152d47beba62065c461a07cbcacdc01d97
[ROCm/clr commit: a57968fba9]
Enabling all negative test cases for amd as they are functional now
SWDEV-238517 for enhancing hip unit tests
Change-Id: I0bdbf8c192ef94588403c8f027c0399dd5480a00
[ROCm/clr commit: 5ba7259ffc]
APIs: hipDeviceGetAttribute(), hipGetDeviceProperties(),
hipDeviceGetByPCIBusId() and hipDeviceGetPCIBusId()
1. New negative test cases for each API.
2. Additional attributes for testing with hipDeviceGetAttribute()
SWDEV-238517 Enhancing hip unit tests
Change-Id: I3c24462426ffaf3a9317b7de9cd33f7c65791a4b
[ROCm/clr commit: 328f8ab0ff]
Added following functional and negative scenario tests for
HIP_VISIBLE_DEVICES (HVD), ROCR_VISIBLE_DEVICES (RVD)
CUDA_VISIBLE_DEVICES(CVD)
1. Verifying HVD and RVD - invalid number in sequence
2. Verifying HVD and RVD - dupliates in the beginning of sequence
3. Verifying HVD and RVD - all the duplicates
4. Device count with RVD(max devices and HVD(min devices)
5. Device count with RVD(min devices and HVD(max devices)
6. Device count - RVD(set), HVD(unset), CVD(set)
SWDEV-238517 for enhancing hip unit tests
Change-Id: Ia83e9e9068cbf8cc61cff17311cda1d1f8a38fee
[ROCm/clr commit: b2a93adb82]
- Added test for V3 Static Lds code object with sramecc/xnack settings.
- Added test for V4 Static Lds code object.
SWDEV-238517 for enhancing hip unit tests
Change-Id: Ibc4f7e12033dec231d6834ccdd983e3b9e001d60
[ROCm/clr commit: 656a2cb556]
Added following functional and negative scenario tests
for hipMemcpy2D and hipMemcpy2DAsync APIs
1. Verifying D2H and H2D functionality
2. Verifying D2D on same device and peer device
3. Verifying using pinned host memory on same and peer GPU
4. Negative test scenarios
5. Verifying hipMemcpy2DAsync API along with kernel launch
SWDEV-238517 Enhancing hip unit tests
Change-Id: I8f447bc7f6bf13cb895f1809f5a2b501baa8782c
[ROCm/clr commit: 7e6d748f26]
1.Rename include/hip/hcc_detail/ as include/hip/amd_detail/
2.Rename include/hip/nvcc_detail/ as include/hip/nvidia_detail/
3.Create __HIP_PLATFORM_AMD__ to replace __HIP_PLATFORM_HCC__
4.Create __HIP_PLATFORM_NVIDIA__ to replace __HIP_PLATFORM_NVCC__
After hcc_detail, nvcc_detail, __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__
have been removed from upstream, they will be removed from hip runtime.
Change-Id: I1ae457effd739d6c25bca203c1724b026be21fce
[ROCm/clr commit: 8a2b0b7424]
Negative, Functional and Regression scenarios for
- hipMemset3D
- hipMemset3DAsync
SWDEV-238517 for enhancing hip unit tests
Change-Id: Idc5604f728ca1a96ec13876e006120f7a3d69acf
[ROCm/clr commit: 2624a5654c]
Modified hipPointerGetAttributes to support hipHostRegister ptrs and mapped device ptrs from hipHostRegister
Change-Id: I2f4cf12e09578768308f644123d6d4bdccbd77a8
[ROCm/clr commit: 40733e1fff]
1.Fix unexpected repeated hip runtime lib building
2.Seperate test cmake from top cmake.
Change-Id: I1ae457effd639d6c25bca293c1724b026be21ecd
[ROCm/clr commit: a7aa84f73a]
The older compiler does not promote integral
arguments to double, instead it uses float.
This patch tries to support the old compiler
headers, and also the newer one.
Change-Id: I01e0b96a82ecddc6230cb5baf2573a318b25445b
[ROCm/clr commit: d432615faa]
The HIP-Clang math headers upstream have been updated
to perform type promotion on math function overloads.
If any argument has integral type, it will be cast to
double.
Change-Id: I38d9e6240c40c4092b946851469498b2ae6500ae
[ROCm/clr commit: 9c041b1984]
- As `long`/`ulong` on Windows has different bit sizes from Linux
platforms, even compiled in 64-bit mode. Need to use portable data
type `int64_t`/`uint64_t` as possible or use `long long` ones to
match the prototype in LLVM IR.
Change-Id: I62fe16a2e53aa0f2f2b4069b8a1596b8db7050c9
[ROCm/clr commit: f3b63c004a]
1. Negative Test Cases
2. API functionality tests for hopcount and linktype using rocm-smi library.
3. API functionality test for hopcount when devices are reversed.
4. Disabling test case 7.
5. Implemented External Review Comments.
6. Created a new header file hipP2pLinkTypeAndHopFunc.h.
7. Removed test case 0x7 from directed test.
8. Put testMaskedDevice() under __linux__, placed TODO in line 404 (comments) and replaced '&=' with '='.
SWDEV-238517 for enhancing hip unit tests
Change-Id: I1ae256ecfd637d6c25bca293c1724b026be20eca
[ROCm/clr commit: 4b16d3896d]