1) When `clang` is used as system compiler, libraries were built without respecting LDFLAGS. For example, this affected LTO flags, if any (and it only affected clang, not gcc).
2) Linker flags are registered as CXX flags, which produces warnings during compilation:
```
clang++: warning: -Wl,-z,noexecstack: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-znoexecheap: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-z,relro: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-z,now: 'linker' input unused [-Wunused-command-line-argument]
```
3) Clang does not support `-Wtrampolines` flag:
```
warning: unknown warning option '-Wtrampolines' [-Wunknown-warning-option]
```
4) No linkers support `noexecheap` anymore. `noexecheap` linker flag was a part of PaX patches to GNU ld, (which were dropped in 2017)[https://www.gentoo.org/support/news-items/2017-08-19-hardened-sources-removal.html]. Now ld/ld.lld/ld.gold don't support it and protection of heap is managed by NX bit. Therefore every compiler produces this warning:
```
ld.lld: warning: unknown -z value: noexecheap
```
Change-Id: I2334a4d4c745df2abc12d543616ca179f85c3575
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Co-authored-by: Sv. Lockal <lockalsash@gmail.com>
[ROCm/amdsmi commit: b256c1b6de]
1) When `clang` is used as system compiler, libraries were built without respecting LDFLAGS. For example, this affected LTO flags, if any (and it only affected clang, not gcc).
2) Linker flags are registered as CXX flags, which produces warnings during compilation:
```
clang++: warning: -Wl,-z,noexecstack: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-znoexecheap: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-z,relro: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-z,now: 'linker' input unused [-Wunused-command-line-argument]
```
3) Clang does not support `-Wtrampolines` flag:
```
warning: unknown warning option '-Wtrampolines' [-Wunknown-warning-option]
```
4) No linkers support `noexecheap` anymore. `noexecheap` linker flag was a part of PaX patches to GNU ld, (which were dropped in 2017)[https://www.gentoo.org/support/news-items/2017-08-19-hardened-sources-removal.html]. Now ld/ld.lld/ld.gold don't support it and protection of heap is managed by NX bit. Therefore every compiler produces this warning:
```
ld.lld: warning: unknown -z value: noexecheap
```
Closes#210.
Co-authored-by: Sv. Lockal <lockalsash@gmail.com>
[ROCm/rocm_smi_lib commit: 4dbc2b6d57]
1) When `clang` is used as system compiler, libraries were built without respecting LDFLAGS. For example, this affected LTO flags, if any (and it only affected clang, not gcc).
2) Linker flags are registered as CXX flags, which produces warnings during compilation:
```
clang++: warning: -Wl,-z,noexecstack: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-znoexecheap: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-z,relro: 'linker' input unused [-Wunused-command-line-argument]
clang++: warning: -Wl,-z,now: 'linker' input unused [-Wunused-command-line-argument]
```
3) Clang does not support `-Wtrampolines` flag:
```
warning: unknown warning option '-Wtrampolines' [-Wunknown-warning-option]
```
4) No linkers support `noexecheap` anymore. `noexecheap` linker flag was a part of PaX patches to GNU ld, (which were dropped in 2017)[https://www.gentoo.org/support/news-items/2017-08-19-hardened-sources-removal.html]. Now ld/ld.lld/ld.gold don't support it and protection of heap is managed by NX bit. Therefore every compiler produces this warning:
```
ld.lld: warning: unknown -z value: noexecheap
```
Closes#210.
Co-authored-by: Sv. Lockal <lockalsash@gmail.com>
* Adding New HIP APIs
* Format Fix
* Format Fix
* Removing changes from ostream and moving it to format
* Addressing Code Review Comments
* Versioning the new hip calls formatting
---------
Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
[ROCm/rocprofiler-sdk commit: dd5c0ea257]
* Adding New HIP APIs
* Format Fix
* Format Fix
* Removing changes from ostream and moving it to format
* Addressing Code Review Comments
* Versioning the new hip calls formatting
---------
Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
Update rocm_ci_caller.yml to use amd-master , until amd-mainline is aligned
Signed-off-by: Choudhary, Rahul <Rahul.Choudhary@amd.com>
[ROCm/ROCR-Runtime commit: 16cd712685]
Full output:
$ amd-smi metric:
AttributeError: 'AMDSMILogger' object has no attribute 'clear_multiple_devices_output'. Did you mean: 'clear_multiple_devices_ouput'?
Changes:
* Changed CLI function definition clear_multiple_devices_ouput(self) ->
clear_multiple_devices_output(self)
* Updated all references to clear_multiple_devices_ouput() to use
clear_multiple_devices_ouput()
Change-Id: Ibd4e210ea30c9dd51fba17981a524b823f2db054
Full output:
$ amd-smi metric:
AttributeError: 'AMDSMILogger' object has no attribute 'clear_multiple_devices_output'. Did you mean: 'clear_multiple_devices_ouput'?
Changes:
* Changed CLI function definition clear_multiple_devices_ouput(self) ->
clear_multiple_devices_output(self)
* Updated all references to clear_multiple_devices_ouput() to use
clear_multiple_devices_ouput()
Change-Id: Ibd4e210ea30c9dd51fba17981a524b823f2db054
[ROCm/amdsmi commit: 1d2272490e]
* [SWDEV-509876] Remove buffer requirement from device counting service
No longer require a buffer to be given when setting up device counting
service. This is to reduce performance overhead in cases where immediate
return of counting samples is being used (synchronous mode).
* Missed file
* Update source/include/rocprofiler-sdk/device_counting_service.h
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* Update source/lib/rocprofiler-sdk/counters/controller.cpp
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* Update source/lib/rocprofiler-sdk/counters/device_counting.cpp
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* Fixes for build
---------
Co-authored-by: Benjamin Welton <ben@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
[ROCm/rocprofiler-sdk commit: 0c4a56c6bb]
* [SWDEV-509876] Remove buffer requirement from device counting service
No longer require a buffer to be given when setting up device counting
service. This is to reduce performance overhead in cases where immediate
return of counting samples is being used (synchronous mode).
* Missed file
* Update source/include/rocprofiler-sdk/device_counting_service.h
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* Update source/lib/rocprofiler-sdk/counters/controller.cpp
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* Update source/lib/rocprofiler-sdk/counters/device_counting.cpp
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* Fixes for build
---------
Co-authored-by: Benjamin Welton <ben@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>
Fix HSA_AMD_MEMORY_POOL_EXECUTABLE_FLAG for ROCm < 6.4
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit: 72a27feb04]
* Fix async copy validation test
- make the async copy tracing test work regardless of however many HSA memory copies the HIP memory copy decomposes into
* Fix rocprofv3 memory copy tests
* Fix compilation support for hipGraphBatchMemOpNodeGetParams
* Fix rocprofv3-test-summary-*-validate
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit: 7fcd80f744]
* Fix async copy validation test
- make the async copy tracing test work regardless of however many HSA memory copies the HIP memory copy decomposes into
* Fix rocprofv3 memory copy tests
* Fix compilation support for hipGraphBatchMemOpNodeGetParams
* Fix rocprofv3-test-summary-*-validate
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
The cl_khr_depth_images associated macro definition is defined twice in
the compiler: in opencl-c.h and automatically by the compiler deduced
from the cl-ext list. These two co-exist and there is no need to remove
cl_khr_depth_images from the cl-ext list.
If we remove cl_khr_depth_images from the cl-ext list, and we do not
include opencl-c.h the macro is not defined.
This fixes conformance test ./test_compiler compiler_defines_for_extensions
when using Comgr with -include opencl-c-base.h -fdeclare-opencl-builtins
without including opencl-c.h.
Before we got the error `ERROR: Supported extension cl_khr_depth_images
not defined in kernel`
This change is needed to eventually get rid of the opencl-c.pch that is embedded in comgr, and that makes implementing a compilation cache in comgr hard.
Change-Id: I76497874ebe7163966420d4ac23a0788b93a36fd
[ROCm/clr commit: 8c9e6d0fa5]
The cl_khr_depth_images associated macro definition is defined twice in
the compiler: in opencl-c.h and automatically by the compiler deduced
from the cl-ext list. These two co-exist and there is no need to remove
cl_khr_depth_images from the cl-ext list.
If we remove cl_khr_depth_images from the cl-ext list, and we do not
include opencl-c.h the macro is not defined.
This fixes conformance test ./test_compiler compiler_defines_for_extensions
when using Comgr with -include opencl-c-base.h -fdeclare-opencl-builtins
without including opencl-c.h.
Before we got the error `ERROR: Supported extension cl_khr_depth_images
not defined in kernel`
This change is needed to eventually get rid of the opencl-c.pch that is embedded in comgr, and that makes implementing a compilation cache in comgr hard.
Change-Id: I76497874ebe7163966420d4ac23a0788b93a36fd
* Use the token for rocprofiler-compute-runner github app to perform
auth to bypass amd-staging branch protection
[ROCm/rocprofiler-compute commit: 25b6bbbb3c]