Edgar Gabriel
74ee25817e
Merge pull request #30 from edgargabriel/topic/assembly-mi300-fix
...
fix assembly switch/case instruction
2024-09-23 12:12:43 -05:00
Edgar Gabriel
c133ea18a5
fix assembly switch/case instruction
...
move the case statement out of the architecture specific section.
2024-09-20 20:25:40 +00:00
Brandon Potter
e9fb01ab6b
Merge pull request #27 from ROCm/ipc_bringup
...
Ipc bringup
2024-09-10 09:06:51 -05:00
Brandon Potter
375d145913
Merge pull request #25 from mawad-amd/fix-bad-auto
...
Fix bad auto
2024-09-09 16:30:17 -05:00
Avinash Kethineedi
fc45d7a0d3
Merge pull request #21 from avinashkethineedi/ipc_atomics
...
IPC atomics
2024-09-09 14:23:21 -05:00
Avinash Kethineedi
e58077e3cf
Merge branch 'ipc_bringup' into ipc_atomics
2024-09-09 14:22:55 -05:00
Edgar Gabriel
7f6cc34239
Merge pull request #22 from edgargabriel/topic/ipc_collectives
...
add support for sync_all, barrier_all, broadcast, fcollect, and alltoall
2024-09-09 14:14:57 -05:00
Edgar Gabriel
dfcacdc4a3
remove pSync from internal_bcast functions
...
remove the pSync arguments from the internal_broadcast functions,
they are not used anyway.
2024-09-09 12:06:30 -07:00
Avinash Kethineedi
32657cb670
Merge pull request #23 from avinashkethineedi/fix_IPC_in_RO
...
Fix IPC in RO
2024-09-06 14:05:47 -05:00
Muhammad Awad
b811b2b683
Fix bad auto
...
Signed-off-by: Muhammad Awad <MuhammadAbdelghaffar.Awad@amd.com >
2024-09-05 18:39:02 -05:00
avinashkethineedi
7bbf34d334
remove local_pe calculation from puts, gets and atomics functions
...
* All the PEs are assumed to be accessible using IPC backend
2024-09-05 11:52:00 -07:00
avinashkethineedi
9c9ef4ffd3
Comment out ping pong test
...
* ping pong test fails sporadically
* issues with roc_shmem_wait_until
2024-08-28 12:40:51 -07:00
avinashkethineedi
862421e0ca
Update IPC object
...
* Update the state of the IPC object in the RO context class with the instance created in the RO backend
2024-08-28 12:31:01 -07:00
Edgar Gabriel
1ffe62bb2e
utils.hpp: silence warnings
...
silence some warnings when compiling with debug flags.
2024-08-28 09:42:14 -07:00
Edgar Gabriel
aae6295460
ipc/context_ipc_device.cpp: set barrier_sync
...
set the barrier_sync variable on the context during
object creation
2024-08-28 09:41:05 -07:00
avinashkethineedi
e1e1ac6df6
Add atomics
...
* Add atomic_add, atomic_set, atomic_cas, atomic_fetch_add and atomic_fetch_cas to IPC backend
2024-08-28 08:30:46 -07:00
avinashkethineedi
45a8cb3354
Update IPC object
...
* Update the IPC object in the context class with the instance created in the IPC backend
2024-08-28 08:14:38 -07:00
Edgar Gabriel
0de3b5e6fc
first cut on collectives and sync
...
code is based on the GPUIB implementations of the routines, which seem
however generic enough to work also for the IPC conduit.
Some code is in for broadcast, fcollect, and alltoall.
2024-08-27 15:03:38 -07:00
Edgar Gabriel
e2e30b5339
remove device wait_until functions
...
adding the device versions of the wait_until* and test functions in the
ipc folder leads to linking errors of the functional tests. Remove them
and use for now the upper level versions of the functions, similarly to
the RO conduit. Might have to revisit this later again.
2024-08-27 15:03:32 -07:00
Avinash Kethineedi
0c86939a30
Merge pull request #20 from avinashkethineedi/ipc_teams
...
IPC Teams
2024-08-23 15:28:50 -05:00
Avinash Kethineedi
1fbe08ed76
Merge pull request #19 from avinashkethineedi/ipc_gets_and_puts
...
IPC gets and puts
2024-08-23 15:28:01 -05:00
Avinash Kethineedi
73365cfefd
Merge pull request #18 from avinashkethineedi/ipc_backend
...
IPC backend
2024-08-23 15:26:00 -05:00
avinashkethineedi
a9571ec002
Add buffers required for collectives
2024-08-22 09:28:09 -07:00
avinashkethineedi
a59bdd4f6b
Add IPC teams
2024-08-22 09:15:44 -07:00
avinashkethineedi
c8b0f2378e
Add gets and puts functionality to IPC context
2024-08-15 13:17:44 -07:00
avinashkethineedi
c9dbcf80c2
Update context_ipc_gtest.cpp to use IPCbackend
2024-08-15 11:54:56 -07:00
avinashkethineedi
b68867ee17
remove ipc_policy.{hpp & cpp} and context_ipc.{hpp & cpp}
...
* move ipc_policy.{hpp & cpp} to src
* rename context_ipc.{hpp & cpp} to context_ipc_device.{hpp & cpp}
2024-08-15 08:52:06 -07:00
avinashkethineedi
49779863c2
Add IPC backend
...
* add backend_ipc.{cpp & hpp}
* rename context_ipc.{cpp & hpp} to context_ipc_device.{cpp & hpp}
* add host interface to IPC backend
* add context_ipc_host.{cpp & hpp} to support host interface
* add USE_RO compile flag to enable support for single backend interface at a time
* add ipc_single script to build rocSHMEM with IPC backend
2024-08-14 22:59:02 -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
Avinash Kethineedi
733cb09e2a
Merge pull request #16 from BKP/ipc_bringup_coarse_unit_08-07-24
...
Create unit tests for simple buffer transfers using coarse-grained memory
2024-08-07 15:05:30 -05:00
Brandon Potter
58c5a98b5d
Add ipc unit_tests
2024-08-07 12:18:12 -07:00
Brandon Potter
c865fcd4bb
Fix memcpy_wave bug
2024-08-07 11:37:45 -07:00
Edgar Gabriel
efa075ffc6
Merge pull request #11 from BKP/ipc_07-30-24
...
MI300X RO Support
2024-08-01 15:34:41 -05:00
Brandon Potter
bb6e48dded
Add assembly for gfx94x
2024-07-31 14:14:24 -05:00
Edgar Gabriel
d21d5aa431
Merge pull request #10 from edgargabriel/topic/ipc-context
...
topic/ipc context
2024-07-31 11:25:56 -05: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
862ef5713f
Move inline asm into separate file
2024-07-30 14:53:19 -05:00
Brandon Potter
73303ca2d2
Move inline assembly into arch defines blocks
2024-07-30 12:56:32 -05:00
Edgar Gabriel
de750ddacc
src/ipc: add context_ipc barebone code
2024-07-26 08:22:33 -07:00
Edgar Gabriel
6990f301b1
Merge pull request #9 from edgargabriel/topic/ipc-directory-reorg
...
src/ipc: IPC folder refactor
2024-07-25 09:53:39 -05:00
Edgar Gabriel
1183006e20
src/ipc: IPC folder refactor
...
mv ipc_policy.{hpp,cpp} into a separate folder as a start for the
standalone IPC conduit.
Unit tests and functional tests pass on the developmpent system.
2024-07-25 07:33:41 -07:00
Edgar Gabriel
a3c338c310
Merge pull request #7 from BKP/ft_07-12-24
...
Update functional test driver.sh script
2024-07-15 15:40:21 -05:00
Brandon Potter
ca36cc249e
Update functional_tests driver.sh script
2024-07-15 08:45:41 -07:00
Brandon Potter
23f2983214
Create new ro_ipc config
2024-07-15 10:38:38 -05:00
Brandon Potter
39c5be18b1
Remove CACHED_HEAP option
2024-07-15 10:18:20 -05:00
Avinash Kethineedi
ac3f87936f
Merge pull request #5 from BKP/ut_07-11-24
...
Unit test fixes
2024-07-14 23:31:43 -05:00
Brandon Potter
06e51a8132
Update functional_tests driver.sh script
2024-07-12 15:08:46 -07:00
Edgar Gabriel
52b7a57506
Merge pull request #6 from BKP/warnings_07-11-24
...
Silence variable array warnings
2024-07-12 07:12:14 -05:00
Brandon Potter
719ee21da7
Silence variable array warnings
2024-07-11 13:50:11 -07:00
Edgar Gabriel
d054fc66ea
Merge pull request #4 from BKP/hyd-7c_07-11-24
...
hyd-7c
2024-07-11 13:03:42 -05:00