Commit Graph

194 Commits

Author SHA1 Message Date
Lad, Aditya 044a1924ba Merge branch 'master' into amd-master-next
Conflicts:
	CMakeLists.txt
	tests/src/texture/simpleTexture2DLayered.cpp
	tests/src/texture/simpleTexture3D.cpp

Change-Id: I4aa4754d391b5f37ddf15fa0bcfc84d9da020119


[ROCm/hip commit: d80edf9541]
2020-03-06 14:10:44 -05:00
Evgeny Mankov 82710c788a [HIP][cmake] Remove dependency from hipify-clang
[Reason] Upcoming hipify-clang's splitting out into a new repository https://github.com/ROCm-Developer-Tools/HIPIFY.


[ROCm/hip commit: 1561f61642]
2020-03-03 12:07:13 +03:00
Rahul Garg c34c9a4b4d Remove deprecated HIP markers (#1876)
[ROCm/hip commit: 6c5fa32815]
2020-02-28 16:47:15 +05:30
Jatin Chaudhary fa2cc448de Generating hiprtc lib with hcc+hip-clang
Review comments - generate hiprtc lib everytime when HIP_PLATFORM is hcc

Changes for hip-clang

Removing pre processor directive to simplify

Change-Id: Id38ab368362b58ee0458baeb8051fea709ae6bba


[ROCm/hip commit: 54447268cc]
2020-02-24 11:44:17 -05:00
Payam 6c10ab55ca updated package generation and removed hiphcc_static as a target for hip-vdi
Change-Id: I0067dd6341f47a212cb02b8d43d3ea01644c2391


[ROCm/hip commit: 28d8a38c0e]
2020-02-16 03:00:59 -05:00
ansurya fb53186682 Reduce GPU copying based on arch it runs on (#1751)
Implements SWDEV-213230.

[ROCm/hip commit: 8c6934223b]
2020-02-13 14:21:51 +05:30
Laurent Morichetti 8b18768a1c Merge branch 'master' into amd-master-next
Change-Id: Ib7e7824073f4dfc391fb3833fc90e11b327d3c22


[ROCm/hip commit: 258adce78e]
2020-02-05 14:56:08 -08:00
Laurent Morichetti bc78a8529d Merge branch 'origin/pghafari/hip-vdi' into lmoriche/amd-master-next
Change-Id: I22c145d39f430ca571a981687bcb034ea6e3b8a2


[ROCm/hip commit: a8b81e96b4]
2020-01-31 07:33:12 -08:00
Alexey Chernov 6a272676d3 Clear HIP_PATH before version detection (#1786)
Don't allow `HIP_PATH` to be propagated to `hipconfig`,
when run by CMake to detect the package version, as it
leads to the wrong version is detected: when there's
already HIP of some different version installed in the
system and `HIP_PATH` points to its location, `hipconfig`
tends to return the version of the installed HIP, rather
than the value defined for the distribution. The compiled
results report wrong version and spoils the rest of the
stack in this case.

[ROCm/hip commit: 8fc262ef23]
2020-01-24 16:21:49 +05:30
paulfreddy e47b0a4152 Changes for multiple ROCm installation (#1771)
* FBA-29, FBA-69, multiple rocm support, shared library conflicts
Changes to resolve:
1) Multiple rocm release installation support
2) Multiple rocm shared lib conflicts
3) Add the so versioning also

[ROCm/hip commit: 3bc69394d0]
2020-01-21 14:17:35 +05:30
Jatin Chaudhary de58e1b43e Remove filesystem dependency in hipRTC (#1749)
Removing dependency on filesystem, so libstdc++fs is no longer required to link

[ROCm/hip commit: aadb62f2c9]
2020-01-10 13:47:54 +05:30
Rahul Garg 86dbb13897 Fix hipcc warning related to hipVersion (#1767)
* Fix hipcc warning related to hipVersion
* Rename hipVersion.h to hip_version.h
* Remove HIP_VERSION splitting
* Update .gitignore
- Ignore generated include/hip/hip_version.h
- Removed some stale entries
- Added executables from samples/1_Utils/*/ for consistency with bin/ entries.

[ROCm/hip commit: f3cafd5855]
2020-01-06 12:33:23 +05:30
Sarbojit2019 6d2ec032fe Change to generate hipVersion.h (#1726)
HIP_VERSION_MAJOR, HIP_VERSION_MINOR, HIP_VERSION_PATCH and HIP_VERSION pre-processor macros are now defined in hipVersion.h instead of being set by hipcc.

[ROCm/hip commit: aa4aea0754]
2019-12-30 12:44:24 +05:30
Maneesh Gupta 261b0a6f50 [packaging] Rename hip packages to conform to debian package renaming rules (#1708)
[ROCm/hip commit: 1f6b3e2aa5]
2019-12-04 15:55:37 +05:30
Maneesh Gupta ee44fffd35 Revert "[packaging] Conform to debian package naming rules (#1647)" (#1688)
This reverts commit 8016fa32df.

[ROCm/hip commit: 4585b7f6f3]
2019-12-01 14:47:43 +05:30
Maneesh Gupta 8016fa32df [packaging] Conform to debian package naming rules (#1647)
* [packaging] Conform to debian package naming rules

* Add hip_hcc metapackage for backward compatibility


[ROCm/hip commit: 2ca1a82036]
2019-11-14 11:40:34 +05:30
Evgeny Mankov 15406422fe Merge pull request #1595 from emankov/cmake
[HIP][cmake] Simplify `UNIX` related code (the beginning)

[ROCm/hip commit: 56fc294968]
2019-11-05 20:30:55 +03:00
Rahul Garg 1b8973d6be Deprecate HIP Markers (#1622)
* Deprecate HIP markers

* Deprecate profiler start/stop


[ROCm/hip commit: 54fab7c35c]
2019-11-05 12:32:59 +05:30
Evgeny Mankov b7d8b4d148 [HIP][cmake] Simplify UNIX related code (the beginning)
[REASONS]
1. Make OS-dependent code more clear and readable
2. To ease Windows support


[ROCm/hip commit: d58b70d8a0]
2019-10-28 23:22:27 +03:00
Evgeny Mankov a2c162f85e [HIP][cmake] Move all *_INSTALL_DIR variables up before first add_subdirectory()
[REASON]
Those vars (may) used by cmake in subdirectories (#1571)


[ROCm/hip commit: b089d905c6]
2019-10-28 21:07:00 +03:00
Jatin Chaudhary e0a382a781 Adding New Analyze Target Merging with cppcheck (#1583)
[ROCm/hip commit: 770d3412f8]
2019-10-24 17:46:06 +05:30
Jatin Chaudhary 22978cb1a3 Adding code object manager to rtc (#1526)
Adding Code Object Manager file to rtc to resolve address of Bundled_code_object in libhiprtc.so

[ROCm/hip commit: c47c2c4f9a]
2019-10-16 10:49:16 +05:30
Aditya Lad 0a90bd8c0f Replacment of RENAME command in CMakeLists.txt (#1402)
[ROCm/hip commit: 90acfb809c]
2019-09-10 08:35:16 +00:00
Paul Fultz II 9082a9990e Use hcc when building with hcc compiler (#1225)
* Use hcc when building with hcc compiler

* Fix misnamed variable

* Dont set HIP_RUNTIME


[ROCm/hip commit: f6cf7e4e79]
2019-09-05 10:03:04 +00:00
Maneesh Gupta f1f202a4e9 Packaging and versioning changes (#1348)
- Fixes SWDEV-200435
- Brings versioning and packaging naming inline with rest of the ROCm
  components.
- Minor bug fixes.

Change-Id: I543a24bf18baffe74fa3ccac8c93bddba7231c5e

[ROCm/hip commit: c42075715b]
2019-08-21 10:01:23 +00:00
Maneesh Gupta b58887c33d Bump HIP version (#1311)
- Match HIP version with upcoming ROCm version
- Add githash to version string

[ROCm/hip commit: 3ccddcde25]
2019-08-09 12:13:29 +00:00
Siu Chi Chan 83269bea32 Compile HIP runtime with hidden visibility by default (#1303)
* add default visibility to most APIs in program_state

* remove unwanted C++ headers

* Add symbol visibility pragmas and compiler flags

* Add visibility attribute to APIs in channel_descriptor and hip_hcc

* remove unused headers

* simplify build flags with hcc

* add pragma visibility hidden to functional_grid_launch

* [CMake] add gfx908 back


[ROCm/hip commit: 83af327ef2]
2019-08-08 08:33:04 +00:00
Aaron Enye Shi 2e45e37c51 Add GFX908 specific changes to HIP (#1229)
* Add GFX908 specific for HIP

* Fix missing __halfTest in hipTestNativeHalf


[ROCm/hip commit: b754de37c1]
2019-07-24 07:51:17 +00:00
Laurent Morichetti 03fec15b7c Add support for code object v3
Use the code object manager library to parse the code object metadata. Both
code object v2 and v3 formats are now supported for HCC generated binaries.


[ROCm/hip commit: 73f931bdbd]
2019-05-23 18:03:32 -07:00
Yaxun Sam Liu 6735bcf35f Fix build failure due to hiprtc for HIP-Clang
[ROCm/hip commit: 21c179755b]
2019-05-17 09:52:43 -04:00
Alex Voicu d5a3acfd69 Add HIPRTC, glorious ersatz for NVRTC (#1097)
* Add ersatz for NVRTC.

* Fix extraneous paren and use correct namespace.

* Use lowerCamelCase (yuck, yuck) consistently.

* Link against FS when building hiprtc lib.

* Correctly mark Manipulators. Fix dual compile.

* Add unit tests. Extend HIT to accept linker options.

* Make sure the HIPRTC library is installed.

* Better logging. Try to auto-detect the target.

* Stop specifying the target explicitly.

* Add missing flavour of `hipModuleLaunchKernel`.

* Program was already destroyed.

* Don't use `--genco`. Fix mangled name trimming.

* Fix HIPRTC breakage due to upstream noise.

* [dtests] Replace RUN -> TEST in hiprtc tests

Change-Id: Ie499e92dfe4e5c94634b1c2b76cf52d241bcfea3

* [hit] Set HIP_PATH to HIP_ROOT_DIR for all tests

Change-Id: Ib0ad1f99bc71c03e363e055dd508a7a4a210680a


[ROCm/hip commit: ccfb764a59]
2019-05-16 18:28:54 +05:30
Siu Chi Chan d0252dfa79 migrate program_state logic from header into shared library (phase I) (#1077)
* Revert "Revert "Use COMgr to read Kernel Args Metadata (#1006)""

This reverts commit 62e96cb4cf.

* Revert "Use COMgr to read Kernel Args Metadata (#1006)"

This reverts commit 882006555b.

* Revert "improve program state commentary"

This reverts commit fb2beb0c88.

* Revert "load program state once per agent"

This reverts commit 21f5e142f5.

* start moving function_names() into the hip shared lib

* start moving code_object_blobs to a new "state" object

* Consolidate various program state related static objects into a
single program_state object

* minor clean up

* move more stuffs from functional_grid_launch into program_state

* debug make_kernarg

* moving lookup for kernargs size_align into program_state

* clean up old code for kernarg size and alignment

* update hip_module to use newer api in program_state

* Create public member functions for program_state

* move most program state functions into shared library

* Pass the data buffer size to load_executable
Otherwise, it can't figure what the data size is
just from the char* (since the data is not really a string)

* turning free functions in program state into members of program_state_impl

* change the free function globals() into a member of program_state_impl

* replace the static mutex used for populating globals

* moving associate_code_object_symbols_with_host_allocation into
program_state_impl

* move load_code_object_and_freeze_executable into program_state_impl

* moving executables and functions_names into program_state_impl

* moving kernels() into program_state_impl

* moving functions() into program_state_impl

* move get_kernargs into program_state_impl

* moving kernel_descriptor into program_state_impl

* moving kernargs_size_align calculation into program_state_impl

* Changing the handle to program_state_impl to a pointer

* moving program_state_impl into a separate inline source file

* fixing/cleaning up some header file includes

* moving member function for kernargs_size_align into program_state.cpp

* moving Kernel_descriptor into program_state.inl

* add a new class to manage agent globals

* moving all agent globals processing functions into agent_globals_impl

* load program state once per agent

re-merging PR991 against other program state changes

* fix per-agent program state member initialization

* cache executables based on elf name, isa, and agent.

This avoids program state reloading executables after a shared library is dlopened.

re-merging PR1057 against other program state changes

* protect executables cache by a global mutex

* return ref to executables cache

* adapt PR#981 Make hipModuleGetGlobal be in HIP runtime


[ROCm/hip commit: f5eb91d53d]
2019-05-12 19:24:03 +05:30
Aaron Enye Shi 62e96cb4cf Revert "Use COMgr to read Kernel Args Metadata (#1006)"
This reverts commit 882006555b.


[ROCm/hip commit: a3d118eaa8]
2019-04-26 16:04:56 -04:00
Aaron Enye Shi c797e6e27b Revert "Add COMGR relative path for build machines"
This reverts commit 01a11c94f8.


[ROCm/hip commit: 48701ad4ba]
2019-04-26 16:04:56 -04:00
Aaron Enye Shi 01a11c94f8 Add COMGR relative path for build machines
[ROCm/hip commit: 920fe246d7]
2019-04-23 17:16:26 -04:00
Aaron Enye Shi 882006555b Use COMgr to read Kernel Args Metadata (#1006)
* Add CMAKE dep to amd_comgr

* Use COMGR for read_kernarg_metadata in COV2

* Do not assume kernargs exist

* Add proper metadata destroy cleanup

* Use a process function for easier destroy

* Remove old read_kernarg_metadata

* Clean up HCC, prints, names

* Use COMGR in CMAKE by default

* Move metadata lookup for keyword values into helper

* Remove C string usage for lookup_keyword_value

* Guard COMGR for non-NVCC path

* Add hip_hcc dependency on comgr package

* Add lifetime to metadata nodes

* Find COMGR config file for amd_comgr target

* Move set_active data earlier


[ROCm/hip commit: 8a548bf40b]
2019-04-16 08:34:39 +05:30
eshcherb 621ceaf8bc adding hip_prof_gen verbose log (#977)
* adding hip_prof_gen verbose log

* adding stderr fatal error

* adding no error exit by default

* adding hip_prof_str regeneration dependencies

* adding more informative messages

* fixing error mesage


[ROCm/hip commit: f167e4daf6]
2019-03-21 05:28:18 +00:00
eshcherb bbc63ad2ec adding prof primitives generator (#967)
* adding prof primitives generator

* minor change, renaming

* minor cosmetic changes, comments correcting and dead code removing

* minor changes and renaming

* minor chane, fixing comments


[ROCm/hip commit: 673cdeea55]
2019-03-20 05:11:40 +00:00
eshcherb 7f40a2cd9a roctracer-proto header find_path (#884)
[ROCm/hip commit: 88b4621dbd]
2019-03-06 17:36:34 +05:30
Alex Voicu 0c16497abd dlopen() fixes (#929)
* Initial attempt to switch over to internally linked state.

* Add missing CMake update.

* hipLaunchKernelGGLImpl must be inline as well. Ensure internal linkage.

* Ensure global retrieval uses internally linked state.

* Hide HC in the implementation. Minimise ADL woes.

* Strange software exists, and must be catered to.

* Use a less spammy mechanism for ensuring internal linkage / non-export.

* Remove leftover internal detail.


[ROCm/hip commit: ea0fcf3e61]
2019-03-06 17:31:44 +05:30
Yaxun Sam Liu 7ef8b1138f Add __gnu_h2f_ieee and __gnu_f2h_ieee
The implementation is copied from HCC runtime.

For hcc it has no effect since apps can find them in either hcc runtime or HIP
runtime.

hip-clang needs it in HIP/HCC runtime so that HIP/HCC and HIP/VDI runtime are
swappable.


[ROCm/hip commit: c5e813f64c]
2019-02-21 12:48:28 -05:00
Maneesh Gupta 59a0ae6e13 Merge pull request #891 from aaronenyeshi/hip-clang-default
hipcc defaults to HIP-Clang if built with HIP-Clang

[ROCm/hip commit: 4ff12f958c]
2019-02-07 05:58:38 +05:30
Aaron Enye Shi f051cd1b71 Add HIP_RUNTIME for HCC or VDI
[ROCm/hip commit: 479d2d093f]
2019-02-01 22:30:30 +00:00
Aaron Enye Shi bb14376f50 hipcc defaults to HIP-Clang if built with HIP-Clang
Add HIP_COMPILER to hipConfig, so that HIP packages built with HIP_COMPILER for HIP-Clang will be known during runtime by hipcc. Also add default locations to check for llvm and device-libs.


[ROCm/hip commit: 489cef167f]
2019-02-01 16:52:55 +00:00
Evgeny 9a8f70ae84 roctracer-proto pkg-config fix to includedir
[ROCm/hip commit: 88628c757f]
2019-01-29 13:15:26 -06:00
Evgeny 323785067c PROF_API pkgconfig roctracer-proto module lookup
[ROCm/hip commit: 81da838722]
2019-01-23 23:40:35 -06:00
Evgeny d2234d3ad4 enabling PROF_API pkgconfig
[ROCm/hip commit: 21f2ef94ee]
2019-01-23 22:05:50 -06:00
Maneesh Gupta b90e24b2b5 Don't break cmake configure if roctracer headers not found
Change-Id: I35e49b52353ab24680836e397ab50136922f8641


[ROCm/hip commit: 49f1f70c93]
2019-01-18 13:23:57 +05:30
Yaxun Sam Liu 95802a836b Let hip-clang support --genco
[ROCm/hip commit: 450f093231]
2018-11-27 15:55:50 -05:00
Evgeny 17ca5ddc41 FATAL_ERRROR if Profiling API header not found
[ROCm/hip commit: 8a4354bdc0]
2018-11-22 21:51:20 -06:00