Commit Graph

13474 Commits

Author SHA1 Message Date
Tao Sang 4a113bb669 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
2020-03-26 23:28:35 -04:00
Saleel Kudchadker 388e656c4e OpenCL2.2 Header changes
Change-Id: I3285a8ffc7e34333feb68e925ebd460831c8e3d4
2020-03-26 17:35:09 -07:00
Vladislav Sytchenko 2b538b09e6 Add support for formating hipExtent objects
Change-Id: Iea54a510e81a856c0c450305b3e5a7179ee48295
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 23211f05d6 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
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 06bb183558 Add initial entry points for mipmapped array API
Change-Id: Icd59cc7323ddcb6773da6105260415a1e6f4cdcb
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko af1c5a0015 Handle offsets for dptr <-> image copies
Change-Id: I7a4a56ee07a26a741d2aac35502446d248f720ad
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 6cfbe19160 Replace hip::TextureObject with __hip_texture
This avoids the use of extra casts when obtaining a texture object handle.

Change-Id: I42df22bdad0ab9ac6c33cb8b282dee65fe7cfd6e
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 1cacb5c9b7 Correctly format hipResourceDesc objects
The struct consists of a union - only the active object should be read.

Change-Id: I1c40965b61518acd91a2dcbae92a015ac9be346a
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 428b56e411 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
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko 3ab8ff87cc Set textureObject to nullptr
This avoids dangling pointers for newly initiazlied textures

Change-Id: Ia444b91fe17fd756ed583ec595ae1febbdfbd034
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko d662abaf55 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
2020-03-26 14:45:20 -04:00
Vladislav Sytchenko dc015d27c1 Correct typos in texture function declarations
Change-Id: I492995e984eda2e8a5e806c5d4c9c78da09ac483
2020-03-26 12:43:17 -04:00
Vladislav Sytchenko 9823ccf5b0 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
2020-03-26 12:43:17 -04:00
jujiang d392082a30 SWDEV-223160, SWDEV-227911- Fix Memory Copy Peer failure on Navi10 MGPU configuration
Change-Id: I2bf559b87cba638b5af858c2d4fe5a252d16a5d9
2020-03-26 10:13:19 -04:00
Aryan Salmanpour 1a1cdee6ff [hip] fix a build error when building hip with latest hcc (#1977)
there is a build error when building HIP with latest HCC from GitHub after PR#1935 merged into HIP master branch. this PR changed blockDimX to blockDim and two lines missed this change where added in the current PR.
2020-03-26 17:10:42 +05:30
Nick Curtis 8afea30768 Update hip_debugging.md (#1973)
Fix link formatting
2020-03-26 17:09:56 +05:30
Sarbojit2019 13b73692d8 Fix for __usad issue (#1972)
Fixes #1930
2020-03-26 17:09:44 +05:30
Benjamin Sherman 09ffe4365d Add const qualifiers to HIP_vector_type unary arithmetic operators (#1965)
Resolves issue #1960
2020-03-26 17:09:00 +05:30
Siu Chi Chan d822daa3a5 Initialize all undef symbols with a magic poison (#1962) 2020-03-26 17:06:09 +05:30
Sarbojit2019 12448996e3 Fix for segfault seen if invalid kind is passed to hipMemcpy (#1937)
Fixes SWDEV-224941
2020-03-26 17:04:43 +05:30
Jatin Chaudhary b696451240 [dtest] Adding VectorTest (#1732)
Adding unit test for operations of device vector types
2020-03-26 17:03:43 +05:30
Evgeny Mankov f4060340b5 Merge pull request #1978 from emankov/hipify-clang
[HIPIFY][doc] Update README.md: LLVM 10.0.0 Release is supported
2020-03-26 11:09:33 +03:00
Evgeny Mankov cc2991f714 [HIPIFY][doc] Update README.md: LLVM 10.0.0 Release is supported 2020-03-26 11:07:43 +03:00
Chauncey Hui 745931d57a SWDEV-2 - Change OpenCL version number from 3111 to 3112 2020-03-26 03:00:02 -04:00
Payam Ghafari 857990e3f6 Merge "updated cmake to create libamdhip64 static file as well" into amd-master-next 2020-03-26 01:10:12 -04:00
Paul Fultz II 05415b0dbf Fix path for hip-clang when using hipcc (#1961)
* Fix path for hip-clang when using hipcc

* Fix typo

* Update regex
2020-03-25 14:42:48 -07:00
Yaxun (Sam) Liu 2198aead38 Add option --hipcc-func-supp for function support (#1957)
By default hipcc passes -mllvm options to let HIP-Clang inline all device functions.

--hipcc-func-supp enables function support and disables inline all.

--hipcc-no-func-supp disable function support and enables inline all.

This is a temporary solution to match HCC behavior for performance.

This option is mainly for debugging purpose.

Change-Id: I0c44ac1812bb3cea5c3e5b6e14ebaa45919236f6
2020-03-25 14:41:27 -07:00
Joseph Greathouse 341ef7fdca Fix cooperative launch APIs to set hipGetLastError (#1935)
* Fix cooperative launch APIs to set hipGetLastError

Previously, the cooperative launch APIs did not properly log their
errors in the global hipGetLastError variable before returning back
to the user. As such, the APIs would leave hipSuccess in the
last error, which would break some use cases.

This fixes that problem by making a trampoline function that does
the HIP_INIT_API and ihipLogStatus.

* Add missing flag to the log of multi-GPU launch
2020-03-25 14:39:24 -07:00
jujiang 01272807ea SWDEV-226708-hipMemcpyPeerAsync failed-->Update test app to create stream on proper device
Change-Id: Ia9f51435ffb5a8fbbff39e363acecabb338bf34c
2020-03-25 17:22:56 -04:00
Payam b3d705f7b3 updated cmake to create libamdhip64 static file as well
Change-Id: I2054b9501cefa232abbf398524ab62450ab6805d
2020-03-25 16:37:57 -04:00
German Andryeyev 85c09043f3 SWDEV-79445 - Remove cl_amd_object_metadata extension
Change-Id: I35502d5e3bd4be4a087f4b49b68098f8aa31fdb4
2020-03-24 19:12:52 -04:00
Vladislav Sytchenko 684cdd4a18 Disable failing tests for VDI
The hipExtModuleLaunchKernel and hipModuleLoadDataMultiThreaded tests keeps randomly failing on Jenkins.

Change-Id: I87e5d54fb7429c14ff1dcecb20e03a7816670fae
2020-03-23 17:09:57 -04:00
Christophe Paquot cf09b9ca1e Merge "Enable VDI Occupancy test" into amd-master-next 2020-03-23 13:38:57 -04:00
Nick Curtis bf2fcce488 Update hip_runtime_api.h (#1966)
Correct URL for deprecated api list
2020-03-23 10:16:24 -07:00
Aaron Enye Shi 244b86896d SWDEV-228303 - Fix clinfo default permissions
Change-Id: I2ed3aa2e2705783388a2832415d5a0131d3b57f6
2020-03-23 11:00:58 -04:00
Saleel Kudchadker 436e5bb664 Merge "Sync streams when freeing or destroying mem" into amd-master-next 2020-03-21 13:33:41 -04:00
Christophe Paquot 9f81498bb5 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
2020-03-20 13:07:34 -07:00
Saleel Kudchadker 68df8efe90 Sync streams when freeing or destroying mem
Change-Id: I6932f225a8b932bb2adbd5e37880f7e604496809
2020-03-20 10:53:23 -07:00
Christophe Paquot 446c8685e2 Merge "hipStreamAddCallback test seg faults" into amd-master-next 2020-03-20 12:05:37 -04:00
kjayapra-amd 334a1f8770 SWDEV-216213 - Lookup module functions from PlatformState::functions_.
Change-Id: I91dfe327f2ebdcf4c9b39ddd14d60aa0ce2fa9f4
2020-03-20 11:52:28 -04:00
Aaron Enye Shi e8c929441d Fix OpenCL CentOS package name
Change-Id: Ifb3478563f68b190da4bb97bc3d1c31bcefb4fff
2020-03-19 14:15:02 -04:00
Christophe Paquot 31df9b358d hipStreamAddCallback test seg faults
Change-Id: I1f107fc8a5c586cd571f0280ed8716c5f89d25b7
SWDEV-227875: Need to add a dummy marker in case the stream is empty.
2020-03-19 11:11:59 -07:00
Yaxun (Sam) Liu 31d9ea89f1 Let hipcc treat .c program as C program (#1945)
nvcc treats .c program as C program and .cpp program as C++ program.

Currently hipcc treats .c and .cpp programs as HIP programs.

It is desirable to let hipcc behave like nvcc.

Currently it is not feasible to let hipcc treat .cpp programs as C++ program
since there are too many HIP applications use .cpp as extension for HIP programs.
However we should be able let hipcc treat .c program C program since there
are few applications use .c as extensioin for HIP programs.
2020-03-19 16:16:31 +05:30
Jeff Daily 1444f850ac fix hipStreamAddCallback, block future work on stream (#1934) 2020-03-19 16:16:04 +05:30
nelsonc-amd d90a0c05c0 packaging: change Provides to use dash instead of underscore (#1913)
Addresses an installation problem for several HIP packages.
Packages builds have been tested locally, validation in progress.
2020-03-19 16:15:09 +05:30
Chauncey Hui c506506f36 SWDEV-2 - Change OpenCL version number from 3110 to 3111 2020-03-19 03:00:03 -04:00
Sarbojit Sarkar 6cf86b20c6 Enable VDI Occupancy test
Change-Id: Ia89155ca909b9b7346584d19962fa0a94033bb17
2020-03-19 10:43:40 +05:30
Vladislav Sytchenko 78f7954765 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
2020-03-18 18:15:17 -04:00
Vladislav Sytchenko ea7170d33c Program texture flags in a better way
Not sure what I was thinking when initially implementing this...

Change-Id: Ib82f0f5a86683c08823dd4b59c98259d27151822
2020-03-18 18:15:09 -04:00
Vladislav Sytchenko 8083935855 Purge the use of ihip*impl() texture APIs
These are artifacts left from HIP-HCC and now are not needed by HIP-VDI.

Change-Id: Ib25a1081fe6146c8a89659395151e9d5bdaf7519
2020-03-18 18:15:01 -04:00