Граф коммитов

37 Коммитов

Автор SHA1 Сообщение Дата
Avinash Kethineedi b84b5638cf Add AtomicWFQueue implementation and tests (#62)
* feat: Add AtomicWFQueue implementation
  - Implemented wavefront-safe atomic FIFO queue ensuring first-come, first-serve order
  - Added efficient synchronization using atomics
  - Enhanced `dequeue` to wait until an element is available

* test: Add GTest for AtomicWFQueue
  - Implemented unit tests for AtomicWFQueue using GoogleTest framework
  - Added tests for `enqueue`, `dequeue`, and edge cases
  - Ensured synchronization behavior and correctness under concurrent conditions

* Add assert in `enqueue` and update atomics
  - Added an assert in the `enqueue` function to ensure it fails if the queue is full
2025-03-25 00:45:19 -05:00
Yiltan 3428957de9 Sync Reverse Offload Scripts (#52)
* Sync Reverse Offload scripts
- Disable IPC unit tests when IPC is not available in the rocSHMEM configuration

* Added missing ptr in ipc_policy
2025-03-19 14:31:07 -04:00
Yiltan 96424a59a8 Added option to build only tests and link to an external rocshmem library (#43)
* Rearrange CMakefile

* Enable linking to external rocshmem library

* Minor fix for the functional test driver

* ROCSHMEM_HOME detection fixed
2025-03-13 15:49:50 -04:00
Yiltan 487e5b7d0f Fix ROCm 6.4 warnings (#47)
* Removed __AMDGCN_WAVEFRONT_SIZE

* Added unit test to validate WF_SIZE
2025-02-24 13:34:13 -05:00
Brandon Potter b1f6621f33 Fix signal calculation bug for fine-tiled unit tests 2024-12-19 18:34:47 +00:00
Yiltan Temucin fa0858833e Remove comparisons of signed to unsigned values 2024-12-12 10:21:08 -06:00
Yiltan Temucin b60a460681 Use ROCm-CMake 2024-12-06 15:49:41 -06:00
Brandon Potter 46f0b42ac3 Merge pull request #48 from BKP/ipc_fine_tiled_unit_11-04-24
Add tiled fine-grained unit tests
2024-11-25 14:36:04 -06:00
Yiltan Temucin 50e46847c6 Explicitly require rocPRIM and rocThrust. 2024-11-19 08:54:18 -06:00
Brandon Potter 03719bbb0e Update tests/unit_tests/ipc_impl_tiled_fine_gtest.cpp
Co-authored-by: Avinash Kethineedi <avinash.kethineedi@amd.com>
2024-11-14 13:08:20 -06:00
Brandon Potter d241015e0f Add tiled fine-grained unit tests 2024-11-04 17:16:07 -06:00
Brandon Potter 749d9f0781 Convert simple fine tests into parameterized tests 2024-11-04 10:46:50 -06:00
Brandon Potter ce0ca36d37 Merge branch 'ROCm:develop' into ipc_parameterized_simple_tests_10-01-24 2024-10-11 12:49:56 -05:00
Brandon Potter 787cf0ff3f Merge pull request #31 from BKP/ipc_bringup_fine_unit_09-26-24
Add IPC Simple Buffer Fine-grained Unit Tests
2024-10-01 15:12:30 -05:00
avinashkethineedi 2f0739d823 Add MPI_THREAD_MULTIPLE check 2024-10-01 20:05:15 +00:00
Brandon Potter 526811957b Use gtest parameterized test macros for IPC simple
The IPC simple test fixtures had replicated code in many places.
This changeset removes most of the duplication in the relevant files.
2024-10-01 14:57:21 -05:00
avinashkethineedi 0f7dc70894 make MPI_Init and MPI_Finalize independent of the test fixtures 2024-10-01 18:33:36 +00:00
Brandon Potter db221b022a Change notifier max thread block value to account for MI300 CPX 2024-09-27 11:17:53 -05:00
Brandon Potter f85c46ec0a Bugfixes for the ipc unit tests 2024-09-26 13:40:05 -05:00
Brandon Potter 46fdb1851c Update fine-grained simple tests 2024-09-10 09:35:41 -07:00
Brandon Potter 2806e1be79 Intermediate commit for rebase 2024-09-10 07:10:22 -07:00
Brandon Potter 678564ba3c Add an extra assertion check for nullptr 2024-09-10 07:10:22 -07:00
Brandon Potter 359d6be797 Add sync method to notifier class 2024-09-10 07:10:21 -07:00
Brandon Potter 1289d50be5 Change notifier fixture to prep for other fixtures 2024-09-10 07:10:21 -07:00
Brandon Potter 5b42cff96c Update Notifier fixture to Block 2024-09-10 07:10:21 -07:00
Brandon Potter 51c33b2a66 Updates to Notifier 2024-09-10 07:10:21 -07:00
Brandon Potter 039ea82777 Change read/write to load/store in Nofitier API 2024-09-10 07:10:21 -07:00
Brandon Potter 0c53a075f2 Fix problems with Notifier 2024-09-10 07:10:21 -07:00
Brandon Potter da93542c40 Add simple fine test 2024-09-10 07:10:21 -07:00
avinashkethineedi c9dbcf80c2 Update context_ipc_gtest.cpp to use IPCbackend 2024-08-15 11:54:56 -07:00
avinashkethineedi 24375a949e Code refactor
move ipc_policy.hpp and ipc_policy.cpp files to src, since they are used by all the conduits.
2024-08-14 20:44:35 -07:00
Brandon Potter 58c5a98b5d Add ipc unit_tests 2024-08-07 12:18:12 -07:00
Edgar Gabriel b1bc4a497a unit_tests: add ipc_context tests
add the initial outline of an ipc_context unit test. The current test
only invokes the ipc_context constructor, more tests will be added later
as the class is being populated.

Also, at the moment the unit test takes an ROBackend as an argument for
the constructor, not sure whether this will be the final solution.
2024-07-30 15:22:03 -07:00
Brandon Potter afd51b3cbb Disable forward_list unit_test 2024-07-11 10:22:36 -07:00
Brandon Potter 770890a107 Remove SpinEBOBlockMutex usage and unit tests 2024-07-11 10:12:19 -07:00
Brandon Potter 3aaf29399c Disable unit_test for slab allocator 2024-07-11 08:49:36 -07:00
Brandon Potter ea8f264a11 Transfer files from RAD repository 2024-07-01 09:57:08 -05:00