Graf commitů

54 Commity

Autor SHA1 Zpráva Datum
kjayapra-amd 0bed2779aa SWDEV-276169 - Multiprocess IPC tests for Events and Memory.
Change-Id: I4a7af60e732de234a535574aa8597a7abd0b899b
2021-03-11 11:16:23 -05:00
Vladislav Sytchenko 223dddae6d SWDEV-232428 - Fix HIP printf tests on Windows
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
2021-03-08 18:12:42 -05:00
kjayapra-amd b4492a3de3 SWDEV-259566 - Adding support to retrieve handle for offsetted pointer.
Change-Id: I5da5ab6a24c6df915950637feb486b8c288e60e0
2021-03-04 12:28:56 -05:00
cjatin 7ba1a0cf72 SWDEV-269879 - Adding function that recommends optimal thread count
Change-Id: I42eb94a058c1b7f9253182e16ff1c3389a836d61
2021-02-09 13:34:08 -05:00
Tao Sang c2adc70d4d Remove hip-hcc codes: Part three
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
2021-01-05 10:39:31 -05:00
sumanthtg f692064d10 [dtest] Tests for hipMemset3D/hipMemset3DAsync APIs
Negative, Functional and Regression scenarios for
 - hipMemset3D
 - hipMemset3DAsync

SWDEV-238517 for enhancing hip unit tests

Change-Id: Idc5604f728ca1a96ec13876e006120f7a3d69acf
2021-01-05 07:00:48 -05:00
Vladislav Sytchenko ad2d55c144 Revert "Revert "Merge branch 'amd-master-next' into amd-npi-next""
This reverts commit 374ead1d19.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I92ceb171e31026ed1864704cef2fc1497b883ef9
2020-10-05 13:20:58 -04:00
Vladislav Sytchenko 374ead1d19 Revert "Merge branch 'amd-master-next' into amd-npi-next"
This reverts commit 73558e3363.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I53322718dadde2c98f96140b8e260ec7ee9ef721
2020-10-05 13:02:39 -04:00
kjayapra-amd d1f82881f6 SWDEV-253349 - Add a SKIP state for hip directed tests when HIP_BRINGUP_SKIP macro is used.
Change-Id: If176cf775e568d4b32982127731223fe96a38f0d
2020-09-23 16:46:21 -04:00
Maneesh Gupta a0b5dfd625 Merge in the rocclr based hip runtime (#2032)
* Merge master-next changes in master (include vdi development in master branch)
2020-04-23 09:12:06 -07:00
jiabaxie af90312867 Cleaned up error messages for HipEnvVarDriver test (#1825)
There were several error messages that appeared even if the hipEnvVarDriver.exe test passes and executes successfully. Now it is cleaned up. The following are those instances:

* When popen searches for directed_test directory but does not find it, it outputs an error, then finds the hipEnvVar at the same level. Currently the fix will prompt the test to only output an error if both searches for hipEnvVar fails.
* When assertion is used towards the later half of the test, conditions were set to specifically hide the devices, resulting in No Hip Device detected in the latter half of the test. The fix will make these errors not appear as they are intended to not find any devices. Assertions themselves are untouched.

HipEnvVarDriver.cpp has also been refactored. Reading HipEnvVar will now happen in a helper function for getDeviceNumber and getDevicePCIBusNumRemote, as the code to read HipEnvVar were really similar in them.
2020-02-28 16:46:12 +05:30
jiabaxie e73927caee Updated hipEnvVarDriver to work with Windows (#1614)
* Updated hipEnvVarDriver to work with Windows

* Cleaned up a bit of code

* Fixed a part where putenv was used for both win and linux

* Defines moved to test_common.h and cleaned up code

* Cleaned up some macro defines and used const char instead

* Got rid of some excess commenting

* directory paths are unconditional

* Cleaned some duplicate code, and variables are now declared and defined together
2019-11-18 12:18:29 +05:30
ansurya e07926ce0f Fixed texture 2D mapping for pitched arrays & 3D Texture read (#1415)
Texture 2D image mapping for pitched arrays:
github issue: Texture Object's Buffer seems to be Misaligned #886
JIRA ticket: SWDEV-199313

SWDEV-151670 : Fixed issue with 3D texture with 4 components
SWDEV-151671 : Issue with 2D layered texture with 4 components
2019-11-07 13:17:46 +05:30
Vladislav Sytchenko 664b115c44 Remove extra #endif. 2019-10-18 16:40:29 -04:00
Vladislav Sytchenko 8f0a226660 _aligned_malloc() on Windows first takes size, then alignment, which is the opposite of how the similar function behaves on Linux. Memory allocated by it also has to be freed using _aligned_free(), unlike Linux where we can use regular free().
Edit aligned_alloc() macro and add a aligned_free() one to align with the above behaviour.
2019-10-17 18:58:32 -04:00
ansurya ba9c6e13e4 Added new Memory API's (#1399)
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.
2019-10-04 13:36:31 +05:30
Sarbojit2019 cde5119c9e [dtests] Separated C macros from CPP header file (#1429)
* Separated C macros from CPP header file

* Updated review comment
2019-10-01 12:38:32 +05:30
Rahul Garg 44422065a1 [dtests] refactor windows specific changes (#1313)
* [dtests] refactor windows specific changes

* Refactor hipMemoryAllocateCoherentDriver - PR- 1309

* Fix missing z in _putenv_s

* Revert "Fix missing z in _putenv_s"

This reverts commit 099a1b20a5c75c5f122d57c0ad2bca01745cdc9c.

* Refactor changes from PR 1299

* Update hipEnvVarDriver.cpp
2019-08-16 02:13:00 +00:00
Wen-Heng (Jack) Chung bfde8a7fab Add direct test for hipMemsetD32 and hipMemsetD32Async 2019-03-04 17:20:32 +00:00
Yaxun Sam Liu aa6abb0dcf Fix get_time in tests for nvcc 2019-01-21 14:07:50 -05:00
Yaxun Sam Liu 05b5e30187 Use chrono instead of sys/time.h in test
sys/time.h is not available on Windows. Use C++11 <chrono> instead so that the tests
compile on Windows.
2019-01-20 00:05:27 -05:00
Maneesh Gupta 52e320f396 Replace hipLaunchKernel -> hipLaunchKernelGGL
Change-Id: I4d99009e1199811d417becf1e1b934ec4d4e30be
2018-10-17 14:32:25 +05:30
Maneesh Gupta 1ba06f63c4 Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Rahul Garg b32489700c Fixed hipPeerToPeer_simple test
- Moved test inside p2p dir
- Updated HIPCHECK to ignore hipErrorPeerAccessAlreadyEnabled
- Added check for mGPUs
2017-12-11 15:23:18 +05:30
Alex Voicu cffd0e14eb This implements the trivial change needed to move back from the hip{Something}_{x, y, z} macros to the natural CUDA syntax of Something.{x, y, z}. This is contained in lines 384-404 in hip_runtime.h. All of the other changes have to do with changing unit tests to use this syntax. The macros are retained for backwards compatibility. 2017-11-19 01:54:12 +00:00
Ben Sander 8e04b33c95 Test cleanup. 2017-10-07 07:54:10 -07:00
Maneesh Gupta 9d5d4f9abb [dt] hip_texture.h -> hip_texture_types.h
Change-Id: If106efa0a2e52105d4025706fdbc291c27352a74
2017-07-19 12:46:18 +05:30
Ben Sander 8ce6d17983 Update tests.
Fix some NVCC issues.
Add hipStreamSync2, record_event tests.
2017-06-04 20:18:37 -05:00
Ben Sander be8d0ba644 Updates so hip compiles on CUDA. 2017-05-27 15:55:07 -05:00
Ben Sander 2e1fec47ab Make hipMultiThreadStreams1 test a little harsher.
Fail faster if synchronization rules are violated.
Run vectorAddRevers to read last elements of array first - if the
vector add kernel starts before preceding copy finishes we
will read stale data and flag the error.

Increase default array sizes, so synchronization errors more easily
exposed.
2017-05-16 19:04:25 -05:00
Ben Sander 427f8472aa Fix HIP_TRACE_API so kernel launch only printed when requested. 2017-05-16 19:04:25 -05:00
Ben Sander 27877f8854 Add initial HIP_SYNC_NULL_STREAM=0 mode.
This eliminates host-synchronization for null stream.  Instead, the
null-stream uses GPU-side events to wait for other streams.
Default is OFF pending additional testing.

Add enhanced null-stream test.

Also refine HIP_TRACE_API.
2017-05-16 19:04:25 -05:00
Ben Sander c3ccaa01e5 hipHostMalloc allocation are mapped to all devices by default.
Support hipHostMallocPortable flag.
Default flags are hipHostMallocPortable | hipHostMallocMapped.

Also:
-refactor tests to move addCount and addCountReverse into HipTest
namespace.
-test multi-GPU host memory.
2017-05-10 17:34:36 -05:00
Aditya Atluri 2412c9a061 fixed compilation bugs
1. Texture functions are now compiling fine
2. Fixed hipFuncCache to hipFuncCache_t

Change-Id: I8f815887e4de43ee115bbaff249905b236541c39
2016-11-21 08:56:30 -06:00
Aditya Atluri afaa5fcf96 Fixed hipDeviceGetCacheConfig on nvcc path
1. Changed test macro to emit line numbers
2. Added getcacheconfig api test for nvcc path
3. Fixed hipFuncCache_t data type

TODO: With this commit, right now there are 2 func cache datatypes
a. hipFuncCache_t for runtime API
b. hipFuncCache for driver API

Map these to a single data type

Change-Id: Ia47c9f5d7c2633638051bf17b1103048a1ede973
2016-11-20 12:18:08 -06:00
Aditya Atluri 428041cfc2 added tests to check nvcc runtime api output
Change-Id: Ifdd39b5d0a6a58d20a8e9745e59dd82d50a90e2f
2016-11-19 21:36:28 -06:00
Maneesh Gupta 4fc082ff09 Fix broken tests due to dc64a73
Change-Id: I847c80f8462e1c955bdef957e6de2841a3a6ab29
2016-11-18 12:20:47 +05:30
Maneesh Gupta 7e04884d0f directed tests: Updated to use new hip include path
Change-Id: Iab1aee638b7158eb9674a19625dedf6471947e51
2016-10-04 22:20:50 +05:30
Ben Sander 84b14aa9d6 Doc and test updates.
Change-Id: I44cbd2c0de7cb692d0194d1bb8b8ae25c58d4e00
2016-09-02 09:46:59 -05:00
Maneesh Gupta 7022986ab2 Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c
2016-07-21 12:29:56 +05:30
Ben Sander 2ab19ca505 NVCC improvements.
- Complete translation tables for cudaError <-> hipError_t.
- Remove some odd errors that were not correctly translated or not used.
- Add HIPCHECK_API to test infrastructure.  Used for negative testing
  an API ; if a mismatch occurs it shows the expected return error
  code.  Can also print a warning rather than error.
- Enable hipMemoryAllocate on NV system, and review error coded.
- Add hipErrorName to nvcc.

Change-Id: I680427dcf32a5796d5913cf9e7f3b4c6f6b91599

Conflicts:
	tests/src/CMakeLists.txt

Bug fixes and improved docs for hipFree and hipHostFree.

    - Passing NULL pointer initialized runtime and return hipSuccess
      (not an error like before).
    - add negative test for this. (hipMemoryAllocate, improved)
    - Match NVCC errors for invalid pointers, add to test.
    - Update hipFree and hipHostFree docs.
    - hipGetDevicePointer always set *devicePointer=NULL, even for
      invalid flags.
    - Gate shared memory usage on specific HCC work-week.

Change-Id: I533b4fd3280a3d6cdbf05eb768976f0c7506c012
2016-06-16 06:13:51 +05:30
Ben Sander 23e5eb8912 Test improvements
- partition hipThreadSafeDevice into smaller pieces.
- Add debug to hipMultiThreadStream.
- print more precision when mismatch detected.
- enable more tests in CMakeFiles.txt.
2016-03-29 17:29:31 -05:00
Ben Sander ab910efb96 hipHostRegister and hipHostMalloc refactor.
Note hipHostMalloc (not hipHostAlloc or hipMallocHost).
 -  the hipHost* is used for all HIP APIs dealing with Host memory.
    (including hipHostMalloc, hipHostFree, hipHostRegister,
hipHostUnregister, hipHostGetFlags, hipHostGetDevicePointer).
  - hipMallocHost is consistent with "hipMalloc" for allocating device
    memory.  Enumerations hipHostMalloc* also used as optional
    flags parm to hipHostMalloc.
2016-03-22 02:30:10 -05:00
Ben Sander 9941ba0bc6 fix nvcc compiler
- MallocHost and FreeHost deprecation.
- Change tests to call new hipHost* equivs.
- Add missing StreamSynchronize.
2016-03-19 04:20:15 -05:00
Aditya Atluri cbdc8c277c Deprecating hipMallocHost to hipHostAlloc 2016-03-15 06:30:16 -05:00
Aditya Atluri 102f173396 Added hipHostRegister for hip with tests and added copyright 2016-03-08 12:57:22 -06:00
Ben Sander ecec7e36d9 Add abstraction for pinned/unpinned, and sync/async mem copies selection in tests 2016-02-25 04:21:24 -06:00
Ben Sander 549b18ce77 Improve async copy implementation.
- Add device-side signal waits when transitioning between command classes
(Kernel, H2D copy, D2H copy).
- Support waiting in staged memory copies as well.
- Add several chicken bits to control implementation:
    - HIP_DISABLE_ENQ_BARRIER
    - HIP_DISABLE_BIDIR_MEMCPY
    - HIP_ONESHOT_COPY_DEP
- Refactor signal pool to support efficient deallocation based on
signsequnm.
- Deallocate copy signals on eventSynchronize.
- Improve copy tests, add pingpong.
2016-02-22 23:15:24 -06:00
Ben Sander d33d806a5b Track last command to a stream.
Passing simple tests.
2016-02-20 11:02:07 -06:00
Ben Sander 134d7975ce Improve copy testing implementation.
- add tests for (unpinned/pinned) x H2H x D2D.
- Free memory at end of test.
2016-02-12 18:24:08 -06:00