Commit Graph

5096 Commitit

Tekijä SHA1 Viesti Päivämäärä
Paul Fultz II c196ac897b Fix path for hip-clang when using hipcc (#1961)
* Fix path for hip-clang when using hipcc

* Fix typo

* Update regex

Change-Id: I31bbee2e70d58b89191f970f5c6ae7e1c8b40900


[ROCm/clr commit: 58f04fb774]
2020-04-02 12:09:31 -04:00
Paul Fultz II eb2336fd32 Add missing flags for hip::device target on hip-clang (#1230)
This adds the missing compilation flags to hip::device so it can compile with hip-clang compiler.

Change-Id: Ie2b30ea606bfca385a0e84ae03ee0a8d828ad16a


[ROCm/clr commit: 631f82ab82]
2020-04-02 12:09:03 -04:00
Saleel Kudchadker 22a021d12e Merge "OpenCL2.2 Header changes" into amd-master-next
[ROCm/clr commit: 5a357a795a]
2020-04-02 02:46:49 -04:00
Vladislav Sytchenko ee88afced4 Add entry points for hipTexObject*() API
Even though the runtime and driver texture object API is one to one, the structs used by these APIs are not. See hipResourceDesc vs HIP_RESOURCE_DESC differences.

These differences are not trivial and most likely won't be able to handled by hipify, so we need new API entry points.

Change-Id: Id4bcb1ad0ae15378dbdb5a2ed07e5ea30f320082


[ROCm/clr commit: a09fadecf2]
2020-04-01 14:51:51 -04:00
Saleel Kudchadker 35e7b758e3 Merge "Cleanup stream from hip:Event class." into amd-master-next
[ROCm/clr commit: 99a024fc14]
2020-03-31 20:14:48 -04:00
Vladislav Sytchenko 870a37307f (SWDEV-229354)
This patch is a workaround to support user pitch for hipMemcpy{2D/3D}.

Historically OpenCL didn't support pitch with clEnqueueFillBuffer(), so neither did we in VDI. Adding it now will be slightly nontrivial, since the fill kernel and runtime in many places will need to be modified.

As a temporary workaround for cases when pitch > width, we can just enqueue a fill for each row separately. This implementation is slow, but it satisfies the correctness criteria.

Change-Id: Idfeca349288b51d6ff84a7cf001fb63c6a66818a


[ROCm/clr commit: 6e0722a5d0]
2020-03-31 18:12:56 -04:00
Reshabh Sharma 69bd482d26 Output file name should not change flags picked for compiler (#1938)
Fixes SWDEV-207362,

The output file name should not contribute to picking up the right flags for the compiler. This fix solves issues when the output has conflicting extensions which confuses hipcc to treat them as the source files and add the required flags for them.

PS: Output file refers to the file followed by -o

Change-Id: I1095966c11143ad73e81fabc35b4e9de5d3afada
Example: hipcc test.o -o test.hip will add the flags for .hip compilation ignoring the fact that it is an output file


[ROCm/clr commit: 36f24a40e5]
2020-03-31 16:13:43 -04:00
Saleel Kudchadker 6629500e70 Cleanup stream from hip:Event class.
Change-Id: I98de07d33bb7fea8f5e2d32b288c15f10ce58902


[ROCm/clr commit: 65722f8cca]
2020-03-31 11:22:00 -07:00
Michael Hong Bin Liao 04fe29d1e0 Merge "[hipcc] Remove the previous workaround." into amd-master-next
[ROCm/clr commit: 9420f56c66]
2020-03-31 10:05:56 -04:00
Michael LIAO dc0ddc29fe [vdi] Fix hipGetSymbol{Address|Size}
- Use symbol value as the qeury key. Compared to the symbol name, the
  symbol value is more robust as developers may use unqualified or
  qualified identifiers. It also removes the mangling and/or demangling
  requirement for the runtime API.

Change-Id: I9d4259f3842612c7cc98551269fc2092d8b5c19e


[ROCm/clr commit: a14695d4eb]
2020-03-31 00:26:53 -04:00
Christophe Paquot 1e254f8432 Do not retry to allocate when OOM. Shouldn't be needed since we idle on Free.
SWDEV-229214

Change-Id: I183006f409388e3c7981f2569649d01d6378be46


[ROCm/clr commit: 47718cbf16]
2020-03-30 12:49:48 -07:00
kjayapra-amd bce2b56ea0 SWDEV-216213 - Use different static & dynamic module maps for faster lookup.
Change-Id: Ia605e76a411ad5be04046b9d61f1ac111d49bb4a


[ROCm/clr commit: 7356a74d35]
2020-03-30 14:28:07 -04:00
Anusha Godavarthy Surya 8b0fec4333 Merge "Update Enable/Disable peers to match cuda behaviour" into amd-master-next
[ROCm/clr commit: 9d213070b0]
2020-03-30 13:46:42 -04:00
agodavar d329bd0684 Update Enable/Disable peers to match cuda behaviour
Change-Id: I67194ccf77a0019368579ff7d95b7790fcf228f3


[ROCm/clr commit: 96d119ac77]
2020-03-30 12:49:16 -04:00
Tao Sang 623168a082 Merge "enable HCC printf when using hip-clang" into amd-master-next
[ROCm/clr commit: 44a145b2a3]
2020-03-30 11:37:23 -04:00
Michael LIAO ee25f80e54 [hipcc] Remove the previous workaround.
Change-Id: Ie1c2aa21689bc343c10fd4b699546cf500ced5b2


[ROCm/clr commit: 64bbce8e73]
2020-03-30 10:18:47 -04:00
Michael LIAO 9c361faab3 [vdi] Fix calculation of MaxWaves
- Consider the case where `usedVGPRs` is zero.
- This fixes [SWDEV-228537](http://ontrack-internal.amd.com/browse/SWDEV-228537)

Change-Id: I8675311f5fe24fb59c5d45bada122afefb55b128


[ROCm/clr commit: 55d869df99]
2020-03-30 09:10:16 -04:00
Sameer Sahasrabuddhe 207d9b3897 enable HCC printf when using hip-clang
This is cherry-picked from PR#1947 that was committed to the
github repo. It allows printf to work with hip-clang and HCC
runtime.

Change-Id: I754753250ea1e694cf3441722e2d4c9d25fa75bc


[ROCm/clr commit: c014c733c6]
2020-03-28 00:18:21 -04:00
Saleel Kudchadker eba4688437 Merge "Check event status before notify" into amd-master-next
[ROCm/clr commit: a5c287554e]
2020-03-27 20:19:40 -04:00
Vladislav Sytchenko d71bdef595 (SWDEV-228794)
Adjust the origin of the copy if the user passes a pointer that wasn't allocated by the runtime.

Change-Id: I0aeb20195ed730857a461a53f537626ec2573fd1


[ROCm/clr commit: 86c969fcea]
2020-03-27 16:33:16 -04:00
Vladislav Sytchenko 3f6db04b75 (SWDEV-228794)
Add hipMallocHost()

Change-Id: Ia3c7c5ca94b39fe30f3a51d1b60782d3472259ff


[ROCm/clr commit: 08729d0f43]
2020-03-27 15:57:48 -04:00
Vladislav Sytchenko 004dff62c4 (SWDEV-228782)
The only requirment from hipMallocPitch() is that the returned pitch is aligned to the HW image pitch alignment. There is no restriction on the size of the allocation, since the memory might not be used for images.

Change-Id: I97438e5fe4012ca4721b14b85f514dbac803c17c


[ROCm/clr commit: 111897dbea]
2020-03-27 15:52:17 -04:00
Tao Sang 0e3a7ed058 Merge "Support hipFuncGetAttributes with hip-clang+Hcc RT" into amd-master-next
[ROCm/clr commit: b2afe3c250]
2020-03-27 14:36:41 -04:00
Saleel Kudchadker 4abf9f5c38 Check event status before notify
Change-Id: I68f6bbbf236e49b859be2d5afbe0c8282fe15dd3


[ROCm/clr commit: fa7dea42b5]
2020-03-27 11:32:46 -07:00
Tao Sang 8218ede5e8 Support hipFuncGetAttributes with hip-clang+Hcc RT
Fix issues of missing kernel function symbols and missing argument list via
using __hipRegister* functions.
Then the following tests can pass,
directed_tests/runtimeApi/module/hipFuncGetAttributes
directed_tests/runtimeApi/module/hipExtLaunchMultiKernelMultiDevice
directed_tests/gcc/LaunchKernel

Change-Id: I52135b61e8283eb4f9f10f77895151e4e55418d9


[ROCm/clr commit: 4a113bb669]
2020-03-26 23:28:35 -04:00
Saleel Kudchadker 09140bb72e OpenCL2.2 Header changes
Change-Id: I3285a8ffc7e34333feb68e925ebd460831c8e3d4


[ROCm/clr commit: 388e656c4e]
2020-03-26 17:35:09 -07:00
Vladislav Sytchenko 96dad9615a Add support for formating hipExtent objects
Change-Id: Iea54a510e81a856c0c450305b3e5a7179ee48295


[ROCm/clr commit: 2b538b09e6]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko e9eababfdd Enable initial sRGB support
Instead of using the sampler field force_degamma to perform sRGB->linear conversion during pixel sampling, we use an appropriate image format instead. The overhead of this is having to create an image view when creating a texture object from an array.

Change-Id: I1ca368c312c1fd4b6f784a3a1b35b5eeb28070ff


[ROCm/clr commit: 23211f05d6]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko cfc508eef0 Add initial entry points for mipmapped array API
Change-Id: Icd59cc7323ddcb6773da6105260415a1e6f4cdcb


[ROCm/clr commit: 06bb183558]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 21587cb0fa Handle offsets for dptr <-> image copies
Change-Id: I7a4a56ee07a26a741d2aac35502446d248f720ad


[ROCm/clr commit: af1c5a0015]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko cf49aaa7fc Replace hip::TextureObject with __hip_texture
This avoids the use of extra casts when obtaining a texture object handle.

Change-Id: I42df22bdad0ab9ac6c33cb8b282dee65fe7cfd6e


[ROCm/clr commit: 6cfbe19160]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko fe369a0e18 Correctly format hipResourceDesc objects
The struct consists of a union - only the active object should be read.

Change-Id: I1c40965b61518acd91a2dcbae92a015ac9be346a


[ROCm/clr commit: 1cacb5c9b7]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko df2f07ce18 Headers need to export C symbols for texture API
This also adds declarations of all the missing texture APIs.

hipTexRefSet*() functions need to take a textureReference as a ptr for type erasure to work. Runtime has been modified to accomodate this.

This change only applies to VDI.

Change-Id: Icf43cc5bd44dfc2c39084b7fe56d5a793bf7319f


[ROCm/clr commit: 428b56e411]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko b7f6419f6a Set textureObject to nullptr
This avoids dangling pointers for newly initiazlied textures

Change-Id: Ia444b91fe17fd756ed583ec595ae1febbdfbd034


[ROCm/clr commit: 3ab8ff87cc]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko d3786bc9b3 Modify formatting for textureReferences
We don't program the numChannels and format members (these are HCC specific), so printing these will only display garbage.

Change-Id: I83dc8be9a3cae2659c64f4594d07c05330d2dd14


[ROCm/clr commit: d662abaf55]
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko c0a3cb04fe Correct typos in texture function declarations
Change-Id: I492995e984eda2e8a5e806c5d4c9c78da09ac483


[ROCm/clr commit: dc015d27c1]
2020-03-26 12:43:17 -04:00
Vladislav Sytchenko 3b75b5fd64 Allow creating texture from unaligned user ptr
All we have to do is align the ptr to HW requirments an if it's not zero, then return the offset to the user.

We currently don't have anywhere to store this offset, so hipGetTextureAlignmentOffset() will still always return 0.

Change-Id: If31998127d99a2a3222a026d88249519d6102505


[ROCm/clr commit: 9823ccf5b0]
2020-03-26 12:43:17 -04:00
Payam Ghafari 4fdd67e878 Merge "updated cmake to create libamdhip64 static file as well" into amd-master-next
[ROCm/clr commit: 857990e3f6]
2020-03-26 01:10:12 -04:00
jujiang d77658cbee SWDEV-226708-hipMemcpyPeerAsync failed-->Update test app to create stream on proper device
Change-Id: Ia9f51435ffb5a8fbbff39e363acecabb338bf34c


[ROCm/clr commit: 01272807ea]
2020-03-25 17:22:56 -04:00
Payam 45a328041b updated cmake to create libamdhip64 static file as well
Change-Id: I2054b9501cefa232abbf398524ab62450ab6805d


[ROCm/clr commit: b3d705f7b3]
2020-03-25 16:37:57 -04:00
Vladislav Sytchenko 0333a3c226 Disable failing tests for VDI
The hipExtModuleLaunchKernel and hipModuleLoadDataMultiThreaded tests keeps randomly failing on Jenkins.

Change-Id: I87e5d54fb7429c14ff1dcecb20e03a7816670fae


[ROCm/clr commit: 684cdd4a18]
2020-03-23 17:09:57 -04:00
Christophe Paquot ebb2480254 Merge "Enable VDI Occupancy test" into amd-master-next
[ROCm/clr commit: cf09b9ca1e]
2020-03-23 13:38:57 -04:00
Saleel Kudchadker f69dbb2438 Merge "Sync streams when freeing or destroying mem" into amd-master-next
[ROCm/clr commit: 436e5bb664]
2020-03-21 13:33:41 -04:00
Christophe Paquot f037cb7285 hipStreamAddCallback test seg faults
Change-Id: If419d2fad490d0ed50eb1315af809fc1deda1ce3
SWDEV-227875: Add a lock in streams to lock when the callback is call so we make sure things aren't moving forward in the stream


[ROCm/clr commit: 9f81498bb5]
2020-03-20 13:07:34 -07:00
Saleel Kudchadker adc574b2ed Sync streams when freeing or destroying mem
Change-Id: I6932f225a8b932bb2adbd5e37880f7e604496809


[ROCm/clr commit: 68df8efe90]
2020-03-20 10:53:23 -07:00
Christophe Paquot ee23705de2 Merge "hipStreamAddCallback test seg faults" into amd-master-next
[ROCm/clr commit: 446c8685e2]
2020-03-20 12:05:37 -04:00
kjayapra-amd 216aba5512 SWDEV-216213 - Lookup module functions from PlatformState::functions_.
Change-Id: I91dfe327f2ebdcf4c9b39ddd14d60aa0ce2fa9f4


[ROCm/clr commit: 334a1f8770]
2020-03-20 11:52:28 -04:00
Christophe Paquot 9130e160d8 hipStreamAddCallback test seg faults
Change-Id: I1f107fc8a5c586cd571f0280ed8716c5f89d25b7
SWDEV-227875: Need to add a dummy marker in case the stream is empty.


[ROCm/clr commit: 31df9b358d]
2020-03-19 11:11:59 -07:00
Sarbojit Sarkar aa49455725 Enable VDI Occupancy test
Change-Id: Ia89155ca909b9b7346584d19962fa0a94033bb17


[ROCm/clr commit: 6cf86b20c6]
2020-03-19 10:43:40 +05:30
Vladislav Sytchenko fd286a205b Add support for creating typed buffers
What Cuda refers to "linear texture memory" is the OpenCL equivalent of CL_MEM_OBJECT_IMAGE1D_BUFFER. For these types of allocations we should create a typed buffer instead of an image.

Currently there is no check in the texture fetch functions as to what kind of SRD is written into the texture object, so any kind of incorrect programming will cause the TA to hang. Fortunately for us, every one writes correct code :)

Change-Id: I80dab85a992f2c0754ebf303d40ac6b5e045c7c1


[ROCm/clr commit: 78f7954765]
2020-03-18 18:15:17 -04:00