Graf commitů

3951 Commity

Autor SHA1 Zpráva Datum
German Andryeyev fb142e7b2f SWDEV-271806 - Disable pinning for views.
Only parent object should pin system memory

Change-Id: Ic9a0a34e3aff2263501c564c3cebd33f4f7e2455
2021-02-11 13:05:58 -05:00
Vladislav Sytchenko ee1ec3258d SWDEV-252745 - Fix uninitialized variable
Change-Id: I9167dc3c85779771a44626f2f88eec4134c5a5ad
2021-02-11 10:26:38 -05:00
Chauncey Hui 91ba74f314 SWDEV-2 - Change OpenCL version number from 3254 to 3255 2021-02-11 03:00:07 -05:00
Rahul Garg df0b14ff47 SWDEV-271182 - Fix HdpMemFlushCntl and HdpRegFlushCntl
Change-Id: Ib690b475c2c4514c862ded5fc2bdd1049e27bd46
2021-02-10 11:40:35 -05:00
Chauncey Hui de52aa7e7c SWDEV-2 - Change OpenCL version number from 3253 to 3254 2021-02-10 03:00:06 -05:00
cjatin 5cfea2981b SWDEV-252745 - Adding precompiled headers to build option
Change-Id: Iab03e8a75215d80c91817ee0227d034fefa9dfad
2021-02-09 23:33:55 -05:00
German Andryeyev 6966d8098e SWDEV-269654 - Fix HIP stream busy query
- Avoid GPU wait on the marker submission and update the command
batch after HSA signal callback upon HSA barrier completion.

Change-Id: I5c1c97212aefc2ae4b99aa9e2a81627ee9a38c1c
2021-02-09 12:57:12 -05:00
Chauncey Hui 12e92b603e SWDEV-2 - Change OpenCL version number from 3252 to 3253 2021-02-09 03:00:06 -05:00
Vladislav Sytchenko 738fd1d24b SWDEV-232428 - Use std atomics
Change-Id: Ieca85738621d056e612faf4de1e2011a817b8965
2021-02-08 16:50:41 -05:00
German Andryeyev 47f8d55313 SWDEV-271888 - Remove an explanation link
Change-Id: I157adac7a248d50ee8db677c19be20c00fcd5ecc
2021-02-05 17:28:28 -05:00
Chauncey Hui c82cda6a7c SWDEV-2 - Change OpenCL version number from 3251 to 3252 2021-02-04 03:00:06 -05:00
Julia Jiang 699b61b5c1 SWDEV-271125 - update ROCclr readme
Change-Id: Icc3df1eca16c685d5ab1c74bebf37bbf169841c0
2021-02-02 17:20:46 -05:00
Chauncey Hui 20ab999164 SWDEV-2 - Change OpenCL version number from 3250 to 3251 2021-02-02 03:00:06 -05:00
Jason Tang 4791447370 SWDEV-269880 - Fix luxmark 3.1 segfaults
To workaround a bug in std::regex() implementation.

Change-Id: I4ea2b40e0b74ee1ee79d31283937e43d361d37c2
2021-02-01 16:12:36 -05:00
Alex Xie 5330679473 SWDEV-268914 - Linux, AMF, tests fail to scale images down
In pitch workaround, we need to copy the image to copy buffer
when application wants to read image to buffer. After this
patch, we unconditionally copy the image data to the copy buffer.

Change-Id: I71b0d19459542dfbb3ca51a2c8a3a81367fa2fb5
2021-02-01 15:22:15 -05:00
Joseph Greathouse 54d1d69c0a SWDEV-270773 - Fix workgroup calculation logic for GWS initialization
The existing workgroup calculation logic for GWS initialization is
incorrect. It tries to add together workgroups across dimensions,
leading to major under-count in 2D and 3D kernels. An (x,y,z) kernel
uses x * y * z blocks, not x + y + z.

In addition, the previous logic was incorrect for the case of launching
a single-threaded kernel. It calculated 0 workgroups, leading to
initializing GWS to -1.

Change-Id: I1bb20a0d5b6e0cc10ac55901c28d8f93aac61c09
2021-01-31 01:16:48 -06:00
Chauncey Hui b7f0fd0354 SWDEV-2 - Change OpenCL version number from 3249 to 3250 2021-01-29 03:00:06 -05:00
Saleel Kudchadker 629a2d8ef3 SWDEV-257787 - Add log for tracking copy signals
Change-Id: I713e8463916a85a634a1ec2309bbd46a11c461a8
2021-01-28 13:25:49 -05:00
Vladislav Sytchenko 0d0739a39b SWDEV-268186 - [PAL] Enable MALL for persistent allocations
Change-Id: Ibc21255d5be52289cb4de3de7d12e0415fd1bc91
2021-01-28 12:47:18 -05:00
Vladislav Sytchenko 81e331dc42 SWDEV-1 - Update ISA table
Disable gfx9+ for GSL.

Enable gfx9+ (except MI100/200/300) for PAL.

Change-Id: Ic5a238af939e1d8795503aae39df6a6ece50a9d2
2021-01-28 11:26:22 -05:00
kjayapra-amd 85fafb0561 SWDEV-270013 - Adding code to differentiate between kern_arg + fine_grain and fine_grain segment of system memory.
Change-Id: Id0404b2dab8561946ad0a90a77030582f7e021a4
2021-01-28 09:48:17 -05:00
kjayapra-amd e8208de6c1 SWDEV-261215 - Updating file handle APIs with file sharing option to accomodate back to back hipModuleLoad calls.
Change-Id: I8fd833b678ca38c60e2d7d02295fd01df0af5592
2021-01-28 09:47:41 -05:00
Chauncey Hui a231391423 SWDEV-2 - Change OpenCL version number from 3248 to 3249 2021-01-26 03:00:05 -05:00
German Andryeyev dbc7abaecf SWDEV-257787 - Add engine tracking per signal
- The logic will trace compute, sdma read/write operations and
apply signals when necessary
- ROC_CPU_WAIT_FOR_SIGNAL, ROC_SYSTEM_SCOPE_SIGNAL
and ROC_SKIP_COPY_SYNC were added to control the tracking

Change-Id: I9e8e6174c63bf7784f7ab00964e2918c8667d364
2021-01-25 12:34:45 -05:00
Chauncey Hui 99da7ecba5 SWDEV-2 - Change OpenCL version number from 3247 to 3248 2021-01-24 03:00:07 -05:00
Jason Tang 1e08a3e0cd SWDEV-269147 - Disable ROC offline devices for now
Change-Id: I520f3c8e56db91cbc384d08beba4e0bd4626941d
2021-01-23 14:48:07 -05:00
Chauncey Hui 29596ac3be SWDEV-2 - Change OpenCL version number from 3246 to 3247 2021-01-23 03:00:04 -05:00
Jason Tang 64714fdbbe SWDEV-268345 - Enable address sanitizer build when ADDRESS_SANITIZER is ON
Change-Id: I09e5c5b2c21637bc67c23267411c2996ee57aad4
2021-01-22 16:21:50 -05:00
German Andryeyev ce2e5eba6b SWDEV-257787 - Reset active signal if ROCR call failed
- ROCR fails the call for some reason, then the signal will
become invalid and can hang on a wait. The logic will reset the
active signal in such cases

Change-Id: Ia131420200f1bbd7c9a162b8f1b06db8cecf41c6
2021-01-21 17:29:34 -05:00
Chauncey Hui de3e8b092c SWDEV-2 - Change OpenCL version number from 3245 to 3246 2021-01-20 03:00:06 -05:00
German Andryeyev 5a8946190a SWDEV-268381 - Enable wait on CPU before SDMA transfer
- There is a performance regression with a HW wait for HSA signal
on ROCr async operation. For now move the logic back to CPU wait.

- Fix profiling issue with multiple HSA signal per single timestamp
object. Some copies require multiple ROCR calls and if profiling is
required, then the execution time is derived from all used signals.

Change-Id: Id003e4abb8c2de378eedc152a7e389500fc6f4ce
2021-01-19 18:24:21 -05:00
Chauncey Hui 44659d5d7e SWDEV-2 - Change OpenCL version number from 3244 to 3245 2021-01-19 03:00:05 -05:00
Tony Tye c2308216dd SWDEV-268864 - Remove duplicatation of isa related information
Remove targetId_, gfxipMajor_, gfxipMinor_ and gfxipStepping_ from
device::Info as they are now available in device::Isa.

Change-Id: I381b1d4798ebf50655740e004a01ac7f86dbf668
2021-01-18 22:32:37 +00:00
Jason Tang c0730b69d5 Fix build error when building with clang++
Change-Id: If1c9fbd6af6028bd39ff43ee53d74d5e778e2a27
2021-01-18 09:45:19 -05:00
Jatin Chaudhary 9943fcd81b Adding compiler option to be passed to comgr
Change-Id: I6247cfc8f323e7ccbc95e35408ab3e8a55e16495
2021-01-18 06:25:44 -05:00
Chauncey Hui 97dd6c128b SWDEV-2 - Change OpenCL version number from 3243 to 3244 2021-01-15 03:00:06 -05:00
Saleel Kudchadker ce56d04dee Cleanup redundant Barrier packet fill function
Change-Id: I31f3250f00a362c2fdd35aca31df177fed7ddb98
2021-01-14 12:38:00 -05:00
Tony Tye 2026a24438 Make HSAILProgram::gpuNullDevice private
Change-Id: I822d1800eff0703a154dac997fe940d232eab542
2021-01-14 11:12:14 -05:00
Tony Tye c7e8d91e14 Update code object handling for GSL, PAL and ROCm
- Correct GSL path to report targets using the TargetID syntax.

- Correct GSL path to check compatibility of code objects when
  loading.

- Add concept of an device isa and create a registery used by ROCm,
  PAL and GSL.

- Support XNACK and SRAMECC target features consistently for PAL and ROCm.

- Correct logic for NullDevices and asserts to avoid memory coruption.

- Allow all NullDevices to be created for HIP.

- Numerous other code improvements.

Change-Id: I40abf3d2b22249c1492d1af5919665f8184f4e0e
2021-01-14 11:11:51 -05:00
Chauncey Hui 4c16051f6d SWDEV-2 - Change OpenCL version number from 3242 to 3243 2021-01-14 03:00:06 -05:00
Tony Tye e0448535a3 Use strncpy
Use strncpy instead of strcpy to ensure the arrays will not be
overflowered. Only copy one less than size of char array to leave a
NUL character at the end even if the copy is truncated provided the
original object is zeroed memory.

Change-Id: I00f7679630cf28dcb9a51cb0aba2810a4f4c72b9
2021-01-13 08:24:28 +00:00
Tony Tye 76c371d78a Make hsa_agent_t handles use pointer to device::Device
For roc devices create hsa_agent_t handles using a pointer to the
device::Device. This ensures each device has a different hsa_agent_t
handle. This may be necessary to ensure the loader symbol lookup will
search only symbols for the correct device.

Change-Id: Iee6dd40d68bf22a02ce8c75cbe5ac8f5a0d9e418
2021-01-13 08:24:28 +00:00
Tony Tye 583dddf6b6 Simplify handling of Settings
roc:Settings and pal::Settings are derivations. Allocate them as their
derived class then assign that to the base class member to avoid the
need for a static_cast.

Use device::settings to access the Settings consistently.

Change-Id: I0f85157962fbf6fed176da0caf83b723bcbe1452
2021-01-13 08:24:28 +00:00
Tony Tye f92b060707 Use properties() method consistently in paldevice.cpp
Change-Id: I8074ecc283dde57bddfabf72a439bf6132ee900e
2021-01-13 08:24:28 +00:00
Tony Tye 682774a09d Refine sampler handling
- Use std::unique_ptr to levarage RAII for managing the allocation in
  the presence of errors.

Change-Id: I55de515bbf72938e1dd09731c5e51f538cf9d34a
2021-01-13 08:24:28 +00:00
Tony Tye 08f3126f6c Make roc::Device::getBackendDevice non-virtual
Make roc::Device::getBackendDevice non-virtual and only defined by
roc::Device and not roc::NullDevice. It is only meaningful for an
online device.

Change-Id: Ic333a3a42f650bea524e80dab587a34f1353e593
2021-01-13 08:24:28 +00:00
Tony Tye 783fe2e01b Delete roc::Program::hsaDevice
Delete roc::Program::hsaDevice and access directly from device
associated with program. This allows to be clear if the device is a
NullDevice which has no meaningful HSA agent backend device.

Change-Id: I81f96aff47bf9b8166d0ff6a5efc7c01f0fb6de3
2021-01-13 08:24:28 +00:00
Tony Tye c1ea70b539 Make roc::Device constructor and create() method private
Make roc::Device constructor and create() method private as creating
devices is performed by the factory static methods.

Change-Id: Ifa2edb8ec645b4ce6070c4aef355b9ef88294cf1
2021-01-13 08:24:28 +00:00
Tony Tye 30729a716f Check error return from aqlCreateHWInfo
Change-Id: If57c30d0605dc628d93a0d8131836ecde9834261
2021-01-13 08:24:28 +00:00
Tony Tye e5431676d4 Add stronger checking
- Add assertions to enforce that objects are of the correct kind and
  have been allocated.

- Make destructors check if objects have been allocated before
  deleting.

- Operations that require a non-NullDevice return failure if given a
  NullDevice.

- Use static_cast rather than reinterpret_cast when cohersing from a
  base class to a derived class.

Change-Id: I02ee0ea9d7982fd7ca29d49c9b02cfae111b7127
2021-01-13 08:24:28 +00:00