Commit Graph

181 Commits

Author SHA1 Message Date
Sarbojit Sarkar 677208f2de Fix for memory leak detected in hipModule*load [SWDEV:250740]
Change-Id: I8c4930b64764620a896079b14b27f6f87fbad292
2020-09-10 10:50:46 -04:00
Laurent Morichetti 5d4b6f74d3 Use std::atomic
Replace amd::Atomic with std::atomic. Remove make_atomic uses by
converting the variable to std::atomic and making sure the memory
order is relaxed when synchronizes-with is not needed.

Delete utils/atomic.hpp.

Change-Id: I0b36db8d604a8510ac6e36b32885fd16a1b8ccfa
2020-09-09 14:55:29 -04:00
German Andryeyev e68d671a51 Reduce the default size of the signal pool
Implement dynamic signal pool grow per allocated queue

Change-Id: Ie8b17937d72c29cc49e59639c4b2023ea984b14c
2020-09-09 09:53:52 -04:00
Tao Sang 65075e72f1 Fix compiling issue exposed by opencl TC build
1.Some files are not built in rocclr so the issues are
not found in rocclr build. But the issues are exposed
in TC build.
2.Clear unused codes in test cmake file.

Change-Id: I1ad4decdf4df5237b93e1ea2547eb39a19f7dc4a
2020-09-08 12:40:22 -04:00
Jason Tang 5ecce5c287 Remove gfxipVersion_ from device level
Change-Id: I11485beffdb9371a20d7abcaa1d1774c102db574
2020-09-07 11:33:49 -04:00
Alex Xie 2c2665665d SWDEV-250136 - [LNX][Navi21][OCL over ROCr] OpenCL-GL sharing failed
Change-Id: Id61f649f035964d14f6399dbea03137c11f8eaea
2020-09-06 10:40:56 -04:00
kjayapra-amd 0163d8acc0 SWDEV-240800 - P2P device attributes support
Change-Id: I2b060a66715f676dfb7136940e69e21288f509d8
2020-09-03 14:41:53 -04:00
Vladislav Sytchenko d6e89ec371 Navi21 support
Change-Id: I7263556fdb85dc0152a2a72cc0ec4d7cd5e978a6
2020-09-03 11:14:37 -04:00
Sarbojit Sarkar 8ac8384aea Fix for HIP_VISIBLE_DEVICE [SWDEV-247751]
Change-Id: Iff0ca6646f9d97b1ffa378c3cdc44159b6bf8ad0
2020-09-02 02:08:56 -04:00
Alex Xie 7e8f7b5927 SWDEV-249516 - [Lnx][Navi][rocm]conformance image read write tests data error
Change-Id: Ie1c4fda953198b49ed66fea9da23e62c686d9cea
2020-09-01 17:20:58 -04:00
Tao Sang 9c5465f9e1 Fix OpenCL test crash on some devices
Replace constexpr with const in kernel source
codes because some kernel compiler doesn't
support constexpr.

Replace scheduler with __amd_rocclr_scheduler
due to name change.

Change-Id: I1ad4ddcdf1df5237b83e1ea2447eb39a19f7dc4a
2020-08-29 12:29:07 -04:00
Tao Sang e986f5c820 Replace private libelf with elfio
Change-Id: I4c630d78f7bf23dda85ec8480bb2790864405657
2020-08-26 12:32:13 -04:00
Jason Tang 19d1497fa2 SWDEV-239502 - fix interop regression
When header==0, the legitimate packet->header is wiped out, so also add an assert.

Change-Id: I6b3037d4618719262b0d7c1792bd54f768a63660
2020-08-25 18:11:18 -04:00
Aryan Salmanpour d2b9d267b2 SWDEV-248499 Fix a crash when printf is used with cooperative kernels
root cause - cooperative queue is not inserted into queuePool_ (HSA queues) of ROC device calss causing a crash when creating hostcall buffers for printf

Change-Id: I3f9aceb4e5fe6a7c7a2a549a4bb0a3511fe02799
2020-08-25 16:51:34 -04:00
Jason Tang c33470ab4d SWDEV-239502 - Create copyImageBuffer_ without flags
Change-Id: Ifcb5992d58f3419635d2aca2d51f2dacd7cd466d
2020-08-14 17:25:58 -04:00
agodavar e914f281ff SWDEV-245503 - Improve hipModuleLoad performance
Change-Id: Icbcd37d9b4e6d79f296cc8693edf25689b19fa11
2020-08-14 05:24:52 -04:00
Vlad Sytchenko 6780a9ac66 Remove unnecessary SVM commit
Change-Id: I5cb887ead166401a59b0c980f29fd615b19745be
2020-08-13 13:21:03 -04:00
Jason Tang db5a2d4c2d SWDEV-239502 - Fix image test regression
Change-Id: Iea35fb0f1964d09a35131b4a20ac8f6f82850a8e
2020-08-13 11:58:20 -04:00
German Andryeyev 6e69258b69 Enable prefetch async functionality
Fix a typo with the name define, when compilation wasn't enabled.
Force CPU prefetch if system was forced in runtime

Change-Id: Id4b578f9fa44a45426fdb5d8ecb1da803aa42313
2020-08-13 11:09:10 -04:00
Jason Tang 152a2dfb5a SWDEV-247463 - Fix regression: ocltst segfaults
Change-Id: Iadb55ba45d6c8ade0757fd970ac4c6cde1805de3
2020-08-09 11:28:09 -04:00
Jason Tang 7bb671fa55 Fix HSAIL build
Change-Id: I34209b3ae0ce0eefc30e464fd7f081a0b62449b0
2020-08-07 17:18:38 -04:00
German Andryeyev 0dc47d55d2 Sync the current queue for P2P staging
P2P staging uses device queues for transfer, hence the current
queue must be in sync

Change-Id: I8372a60590eed9dde62cb4c67ef4df5df82a8e8d
2020-08-07 14:36:50 -04:00
Jason Tang 6f8eaff4df Use ARCTURUS
Change-Id: Ib25d150c9314180178d5cf00835a06e47c02c2a9
2020-08-07 11:14:24 -04:00
Jason Tang f8f6bc16a1 SWDEV-246565 - Remove passing -msram-ecc to Comgr
Change-Id: I1604a0014186a5779561da3ec3eefec65aff5c37
2020-08-06 12:48:53 -04:00
Jatin Chaudhary 2f3df8e691 Adding device memory channel information
Change-Id: I47dfa3daff97b1e3f42484dde5a4aa64244ac544
2020-08-06 06:54:35 -04:00
Saleel Kudchadker ec73340348 Add Queue profling param and toggle for HIP
Use signal timestamps if NDRange command takes forceProfile flag.

Change-Id: Ib7f187d781fd78a7346818afb3344a9378f4c104
2020-08-06 03:09:53 -04:00
Anusha Godavarthy Surya 093f7fa3ca SWDEV-244600 - HIP BLIT code object needs to have reserved symbol name
Change-Id: I8401fea5eab71c0f7414eec0666066d9553a6622
2020-08-06 01:14:06 -04:00
Jason Tang 8ef5da00c7 SWDEV-246687 - Do not use std::vector reference as class member cuMask_
The current implementation creates default reference in the stack and assigns it to class member cuMasks_, so whenever the content of the stack changes, cuMask_ would change.

Change-Id: Iefab63c335d504b83c4ae90bd34ae76c6afb8f3c
2020-08-05 16:57:36 -04:00
German Andryeyev 91a25df04f Process cache coherency before mem dependency tracker
Optimizaiton to remove extra syncs uncovered a bug with the cache
coherency layer, there runtime could lose the track of mem address
if coherency layer performed a sync.

Change-Id: I25647cfa4a4be9cdbd8577ff076a740bbdac79c8
2020-08-04 16:33:18 -04:00
Vlad Sytchenko 9d0b0c32a9 Fix typo
Change-Id: I8b659508f567afa126aeb7749b536b443935e3df
2020-08-04 11:15:21 -04:00
Vlad Sytchenko 24c1c48db7 Only enable HIP for Vega20 on non-ROCm platforms
SWDEV-245906

All asics will still be supported for developer builds.

Change-Id: I0eac2246162d133fe63449c200d996fe05bd51bd
2020-07-27 13:09:58 -04:00
Tao Sang fdef6f722f Apply constexpr on global constant varaibles
When HIP_ENABLE_DEFERRED_LOADING=0, many global variables will be
referenced but they are not initialized in that early time. The patch
will use constexpr to initialze global constant varables in compile
time.

Change-Id: I9d538b7abc6a0ce700ec3332b97fc144db5fc1ef
2020-07-22 22:14:13 -04:00
Jason Tang 2800fc2fa3 SWDEV-232197 - Fix PAL build
Change-Id: Iad306077cadfd8de1491ac0a188eee4802d8ce1f
2020-07-22 17:10:03 -04:00
Jason Tang 65f4230494 SWDEV-232197 - Use TargetID for action_info_set_isa_name()
Change-Id: I6661a2bbc2e55586c1b5029694d67cb54a4f23a6
2020-07-22 13:47:17 -04:00
Freddy Paul 6b8ae3dd77 Align to new hsa cmake target usage.
HIP or any ROCm component above HIP may not be calling
hsa-runtime directly. OpenCl and HIP are the two components
calling ROCclr and to bring in the transitive dependency of
thunk,ROCR,amd_comgr it is better to have the dependency
chain set correctly in the ROCclr cmake target. With this
change OpenCl or HIP should not be setting ROCR dependency
directly.

This helps to link OpenCl(libamdocl.so) link statically with
comgr,hsa,thunk.

Change-Id: I0d538b7abc6a0ce700ec3332b97fc144db5fc5ff
2020-07-22 11:21:09 -04:00
Jatin Chaudhary 48690f29e9 Adding AnyOrder Flag
Change-Id: I6baaef42b98adfbc8cf2605e175ec007e008045f
2020-07-22 00:25:04 -04:00
Tao Sang 214827defa Add numa lib detection in cmake
If numa lib is in building system, define ROCCLR_NUMA_SUPPORT to
support numa; otherwise, don't support numa.

Change-Id: I3848d7fdec5a3813ff1edad9b71ff04372dc0b9a
2020-07-21 14:58:56 -04:00
Rahul Garg 60473ae542 Handle size 0 symbols
Change-Id: I1629c5027ec5f9af48c8e9e0696829b844423096
2020-07-21 10:10:36 -04:00
Jason Tang 8b7e0f3cfe SWDEV-232197 - Use HSA_ISA_INFO_NAME as the TargetID
TargetID will be passed to LC compiler.

Change-Id: I0385634922c11d53b57ebd596047698c47bda72b
2020-07-21 09:24:03 -04:00
Matt Arsenault 5577eabcea Fix -Wmissing-braces
Change-Id: I2394b6923c789f36e72242f4b196844cc0ee90ba
2020-07-15 16:51:03 -04:00
Jason Tang 5e0bb5bd39 SWDEV-244000 - Print freeMem_ for memory accounting
Change-Id: I5bbce213236a109e9aa69766d2d4d370b58d0d08
2020-07-15 13:44:05 -04:00
kjayapra-amd e993bf9f47 SWDEV-243423 - Avoid repeated metadata processing if the unbundled binary_ptr is same.
Change-Id: I71e008021b728dec61187d9ff29483ad8c4cad5c
2020-07-10 10:35:16 -04:00
agodavar de31b341d2 SWDEV-242592:Remove define of UndefinedVars in setKernels
Change-Id: I51b0c5ac6c4cb2564a53f7c45fdf8a893a5edbd3
2020-07-09 23:15:31 -04:00
kjayapra-amd 16e6b65b5c SWDEV-240165 - Move all amd::MemObjMap_ reference to ROCclr and only allow base ptr to get ipc handle.
Change-Id: I9de10a0c4ba4dee3b3c8b972966840ab807001d8
2020-07-09 21:19:45 -04:00
Jatin Chaudhary cd1e364911 Replacing deprecated HSA API calls with newer ones
Change-Id: Iebe2c00e717ab0e47c61611752b717966c719994
2020-07-08 00:32:24 -04:00
Aryan Salmanpour 4a901f3dd3 Always print error message with the returned error code before abort
Change-Id: I8479abc586937a50c90b2785c4ce7364e6e9732b
2020-07-07 16:28:30 -04:00
Tao Sang f7bf882981 Fix static lib crash by setting top init_priority
Set top init_priority on affecting global variables so that
they will be created firstly and destroyed lastly.

Change-Id: Ied59fbecab66ba8195c4a7a02b6bef9fa2fad3af
2020-07-06 16:54:10 -04:00
Matt Arsenault cfed3f310d Remove .value_type from code object v3 metadata
This seems to not actually have any function. The OpenCL API test
passes without it, and the way it's produced is problematic.

Change-Id: I384bfa01dee7023484348b184ddd1b2d44a91f7d
2020-07-06 11:07:30 -04:00
Matt Arsenault c56a82fd05 Fix unused function warnings for conditionally used functions
Change-Id: Ied23c571b949abef1816914986f19b14aca3d2f3
2020-07-06 10:28:43 -04:00
Matt Arsenault 9e3e41ca2e Remove unused functions
Change-Id: I55db791019c511de83d8b895e3a48b3d7475aeac
2020-07-06 10:27:29 -04:00