Граф коммитов

45 Коммитов

Автор SHA1 Сообщение Дата
Kent Russell 0a4b23d625 Fix lintian errors in deb packages
Add extended descriptions and e-mail address to CMakeLists
A lintian error will remain regarding stripping the .so, as we
will not be doing this for Release versions of the hsakmt .so

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I41c768dee28c0564d92b9c103a6e2d97590e4589
2020-09-09 11:28:18 -04:00
Cole Nelson 141246eeeb libhsakmt: set packaging arch, field separators, vendor info
Change-Id: Ia1392285f5ee0beeaae136ad7d68e1723bc590ba
Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2020-06-30 07:38:14 -04:00
Gang Ba fec3780c1a Revert "libhsakmt: add Streaming Performance Monitors APIs"
This reverts commit d675d1cce1.

Reason for revert: Change was submitted by accident

Change-Id: If05c705e22296fd3ca789f269737d379a933361d
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2020-06-29 10:54:54 -04:00
Vlad Sytchenko 5fb771a195 Correctly set CMAKE_MODULE_PATH
Since CMAKE_MODULE_PATH can already be set by another project,
we should just append the libhsamkt cmake module directory to it.

Change-Id: I999dc52a2862e4bbff02e0a8e8b39530f4dae2cd
Signed-off-by: Vlad Sytchenko <vladislav.sytchenko@amd.com>
2020-06-24 15:47:06 -04:00
Sean Keely f101875de8 Add warning about incorrect package names when using CMake 3.5
Signed-off-by: Sean Keely <Sean.Keely@amd.com>
Change-Id: Ie35b287224ec6b963bc317baf60853fbe223fc17
2020-06-19 20:12:16 -05:00
Sean Keely f0b0555996 Add optional support for the cmake per user package registry.
Default is OFF to conform to latest cmake standard (3.15) and
because this feature can cause some confusion for unaware developers.

Change-Id: I6fdbd5ab76c90b73ac6451a383334a83cabef438
Signed-off-by: Sean Keely <Sean.Keely@amd.com>
2020-06-11 14:25:57 -05:00
Sean Keely 06add334b9 Update to conform with modern cmake best practices.
Immediate benefit is that this enables cmake native find_package
support including transitive passthrough of link dependencies,
options, and include paths.

It does require a bump to cmake 3.6 to enable proper package file
names.

Change-Id: I3f4e2f2db745c04a7f686111b080098a0d92fbf5
Signed-off-by: Sean Keely <Sean.Keely@amd.com>
2020-06-11 14:25:41 -05:00
Gang Ba d675d1cce1 libhsakmt: add Streaming Performance Monitors APIs
Signed-off-by: Gang Ba <gaba@amd.com>
Change-Id: I5c23a8dacf9bc50c740908aabe391432f2c7112e
Signed-off-by: Gang Ba <gaba@amd.com>
2020-05-29 09:34:31 -04:00
Kent Russell ddd38deab7 Make thunk lib type be defined by cmake
Make the hsakmt library take the value from CMake regarding
static/shared
KFDTest automatically grabs the right one due to it checking the normal
shared folders. Tested locally (and via automation by the time that this
is merged)
Also set the default to building SOs if BUILD_SHARED_LIBS is not defined

Change-Id: I7f8b76a7e60f3b41e5981f472b388301ae09e2c6
Signed-off-by: Kent Russell <kent.russell@amd.com>
2020-04-27 13:52:42 -04:00
Jon Chesterfield 0a1718b753 Replace libpci with new parser.
libpci was only used to find a marketing string for a device.
This patch looks for a pci.ids on disk and parses it to extract the
same string, using 'Device xxxx' as the fallback on file i/o error
or missing data from the text file. Tested by checking every vendor/
device pair against the values returned from libpci.

Change-Id: I21af3157472c1824d57fcee31393c6ee8ce07330
Signed-off-by: Jon Chesterfield <Jonathan.Chesterfield@amd.com>
2020-03-20 17:50:47 +00:00
Jeffrey Poznanovic 5dcd49f726 Added CentOS-6 mods to support manylinux2010
Change-Id: I8c303ccfdc7d314d1b4609ed6181d46795ada621
2020-03-20 08:47:25 -04:00
Srinivasan Subramanian 5c2fc61d95 Use runpath instead of rpath for libraries
enable-new-dtags option is added

Change-Id: I1f406b3f30ddc6491aad3ef7a84dfd415917b1aa
Signed-off-by: Freddy Paul <Freddy.paul@amd.com>
2020-01-09 18:05:57 -05:00
Pruthvi Madugundu 3f8a07e460 support installtion of multiple ROCM version
Changes to resolve
1) Multiple rocm release installation support
2) Multiple rocm shared lib conflicts

Change-Id: I792feb36cdf4516d108f1ef71abe0c87522f018a
Signed-off-by: Pruthvi Madugundu <pruthvi.madugundu@amd.com>
Signed-off-by: Freddy Paul <Freddy.paul@amd.com>
2020-01-09 18:05:24 -05:00
Kent Russell 57b42045d0 Set package name explicitly
Instead of letting CPack generate the filename according to
CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME},
set the package name ourselves. Also take the change to fix the name of
hsakmt-dev to hsakmt-devel for RPM, since that's their convention

Previous packaging format:
hsakmt-roct-1.0.9-229-g2144854-Linux.deb
hsakmt-roct-1.0.9-229-g2144854-Linux.rpm
hsakmt-roct-dev-1.0.9-229-g2144854-Linux.deb
hsakmt-roct-dev-1.0.9-229-g2144854-Linux.rpm

New format:
hsakmt-roct-1.0.9-292-gc66f8cf.x86_64.deb
hsakmt-roct-1.0.9-292-gc66f8cf.x86_64.rpm
hsakmt-roct-dev-1.0.9-292-gc66f8cf.x86_64.deb
hsakmt-roct-devel-1.0.9-292-gc66f8cf.x86_64.rpm

Change-Id: I4fc4e0fd2eafd25669c1cfffb39860e25a0b645c
Signed-off-by: Kent Russell <kent.russell@amd.com>
2019-12-18 12:21:33 -05:00
Jeremy Newton cb4d4107ed libhsakmt: default packaging prefix to install
If CPACK_PACKAGING_INSTALL_PREFIX is not set, it's safer to assume it's the
same as CMAKE_INSTALL_PREFIX, incase only the latter is set.

Change-Id: I70727ebbc50f21f8d6e3add10d7f9f2d5e747dee
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
2019-10-25 15:40:03 -04:00
Craig Andrews 6c9a49076a Install LICENSE.md to DOCDIR
LICENSE.md should be installed to the DOCDIR, not /usr/libhsakmt

Change-Id: I2020547b3174b9d91c1f800d9db2d73f627a6ce3
Signed-off-by: Craig Andrews <candrews@integralblue.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-08-29 19:22:47 -04:00
Lad, Aditya cabebaa091 Support for SLES on thunk
Made changes in the CMakeLists.txt
1) Detects the OS of the system
2) Accordingly setsup the runtime dependencies

Change-Id: Ief9a0217caae77d4be4850167e2a9b8387f639e4
Signed-off-by: Lad, Aditya <aditya.lad@amd.com>
2019-08-29 14:06:55 -04:00
Konstantin Zhuravlyov 53e4eca485 Allow ccache enabled builds if -DROCM_CCACHE_BUILD=ON
Change-Id: Ia80965feb6e4ff22d466f1ff3142fb2ef303f99c
2019-07-31 16:39:27 -04:00
Felix Kuehling 8f10c9375d libhsakmt: Disable -Werror by default
This can cause build failures on unknown of future compiler versions.
Only enable it if explicitly enabled by an environment variable. This
allows us to continue building with -Werror in internal builds with
known compiler versions.

Change-Id: Ic1cd9d223218cc4e4cddba49df93bb357c1cbd40
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-05-07 16:06:51 -04:00
Alex Voicu fdadae6745 Fix Clang build
Change-Id: I0b51699c0a1368cf5813bd9d3cd4479139d23d6a
2019-04-19 07:06:28 -04:00
Andreas Schneider 0045974858 cmake: Do not mess with CMAKE flags
Specifically, don't mess with CMAKE_SHARED_LINKER_FLAGS or
CMAKE_C_FLAGS

Change-Id: I73e287df5b80d440079c6b3abe8c401d492d11dd
2019-04-19 07:06:28 -04:00
Andreas Schneider 8ccfa4c75c cmake: Do not strip targets in the release build
Distributions want to generate debuginfo packages, do not strip them! If
you want to do it during installation use 'make install/strip'!

Change-Id: I3983af24ce4f4ddb189ede0ed0820dfee83b6280
2019-04-19 07:06:28 -04:00
Andreas Schneider b8a1331763 cmake: Create cmake config file
Another cmake project like hsa-runtime could just use:

find_package(hsakmt REQUIRED 1.9.0)

Change-Id: Ia1c9a80ef287facdd607382d69649b0718d687b4
2019-04-03 08:36:09 -04:00
Tom Stellard 006c2c248d Separate build version from library version
This patch separates the build version (i.e. ROCm version) from the
library version used to set the SONAME of the shared objects.  This
prevents the SONAME from getting bumped each time there is a new ROCm
release without any change to the libhsakmt ABI.

1.0.6 was choosen as the library version since this was the
last library version used prior to switching to the ROCm version
numbers.

Change-Id: I7c29ae84d8a362a831e804569d8147ca65155cad
2019-02-28 21:32:45 -08:00
Kent Russell 666f90440a Add lib requirement in CMake file
Adding it to the DEBIAN/control won't work, since we use CMake to build
it. Add all required packages to the CMakeLists file

Change-Id: Iaf62f42e0f998d66038338fb2cf793d29c790205
2019-01-02 07:50:12 -05:00
xinhui pan ab9017715f use rbtree instead of vm_objects list
simple test of mapping many system memory to gpu.
before
[ RUN      ] KFDMemoryTest.MMap
[          ] Using ISA for GFXIP 9.0
[          ] successfully register/map 32GB system memory to gpu
[       OK ] KFDMemoryTest.MMap (36932 ms)

after
[ RUN      ] KFDMemoryTest.MMap
[          ] Using ISA for GFXIP 9.0
[          ] successfully register/map 32GB system memory to gpu
[       OK ] KFDMemoryTest.MMap (11441 ms)

So there is 11s VS 36s improvement.

Looks like we can do something similar with vm_area too.

Change-Id: I0349aacdeddec3534016d28176f0fabf632c61fc
Signed-off-by: xinhui pan <xinhui.pan@amd.com>
2018-07-08 22:38:22 -04:00
Felix Kuehling 9434223752 Clean up cmake install and package
* Use GNUInstallDirs
* Install headers in $prefix/include directly, drop symlink
* Install libraries in $prefix/lib directly, drop symlink
* Move LICENSE.md from hsakmt-roct-dev to hsakmt-roct

Change-Id: I43562f15cc03029be53e9ec18c337824d8116659
Signed-off-by: Slava Grigorev <slava.grigorev@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2018-06-20 11:32:53 -04:00
Felix Kuehling 2915d521a1 Remove redundant dev package build
No need to build the package in the build-dev target. This is taken
care of by package-dev. Removing the redundant packaging command
allows install-dev to work without building a package unnecessarily.

Also moved the rm command into the package-dev target.

Change-Id: I044871be03ebc5673146b44e4291b48b112f4440
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2018-05-04 14:04:19 -04:00
Yong Zhao 15e525af45 Add pkg config support in the hsakmt-roct-dev package
Change-Id: Ida6b3083bfc9405ef9b6b8e426dc7dc51d61a811
Signed-off-by: Yong Zhao <yong.zhao@amd.com>
2018-02-27 11:21:38 -05:00
Yong Zhao 2c426a026a Turn off the verbose building message
Change-Id: If4ebdb6f87fde9c3cc76b16c57e862bfb972ed5e
Signed-off-by: Yong Zhao <yong.zhao@amd.com>
2018-02-26 18:17:13 -05:00
Sean Keely e81d04e11b Use a default module search path if not already specified.
Change-Id: I782f0b758dc908c25abeb7f3536418cb5a48ac5e
2017-11-20 14:12:27 -05:00
Oak Zeng d4e6ec0ff0 Added "-g" to CFLAGS for debug build
Previously even for debug build, -O2 is used.
So there wasn't debug information in the debug build.

Change-Id: I6334474e007480eb2db191bdfec5a71677c26a52
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2017-11-09 07:43:36 -05:00
Kent Russell c704ff60b3 CMakeLists: Make roct-dev dependent on roct
Change-Id: Ib7d2927087dcd53da7916951de9d6a71ae6bb21b
2017-11-07 06:43:37 -05:00
Jan Vesely d8a8f88737 cmake: make sure there are no undefined symbols
Change-Id: Id5a268d7e512f71c1a65af598543eb60ae6c3596
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2017-10-25 17:46:58 -04:00
Jan Vesely 383f275aa7 cmake: Use pkg-config to find libpci
Change-Id: I1ab4397d88a2bd48ce0d6f2d3c33efcf47bc442f
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2017-10-25 17:46:58 -04:00
Felix Kuehling cb4814eadc Make system memory allocations NUMA aware
Use mbind to specify the NUMA node for system memory allocation. This
only works with HSA_USERPTR_FOR_PAGED_MEM=1.

Change-Id: I88e7815d5a5aefcc4c22358c1a4a1635d7677ef3
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2017-10-13 16:25:56 -04:00
ozeng 8176830577 CMakeLists changes to make thunk buildable on CentOS 6.9
Removed Werror CFLAGS for lower version of gcc. there
will be some warning message on lower gcc version but build
is ok.

Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>

Change-Id: Icf556625cb870c4ad73e1d89f3d4ade3a96e821f
2017-08-01 12:06:05 -04:00
James Edwards e93d3de0a1 Final changes to roct CMakeLists.txt file for devel package.
Change-Id: Ie0ce0c5cd8e7811f67e92439d1df1612eabefdfa
2017-07-19 17:16:17 -05:00
James Edwards a1353acd85 Update the ROCt CMakeList.txt files to build both runtime and devel packages.
Change-Id: I01b6e4e5db91dd5f56ffea54c548e10f1f4aae5d
2017-07-19 01:16:13 -04:00
James Edwards ec84fbe264 Fix permissions on hsakmt include files.
Change-Id: I1d428e60268e6d2de6776ff5f16d03503d00ddcc
2017-03-02 12:00:09 -06:00
James Edwards 9e81f0f5e2 Add libpci to CMakeLists.txt for thunk.
Change-Id: I0228035ce769feaf54cbca75f076f73614cbb9cc
2017-02-11 16:24:54 -06:00
James Edwards a5a30e8199 Fix file stripping for release builds.
Change-Id: I538c366f0992980ffff1ef337807035b9378845c
2017-02-09 14:42:14 -06:00
James Edwards bc44715be2 Update libhsakmt CMakeList.txt file for tag based versioning and proper packaging
Change-Id: I63e82deefa8377ced810d99b5b2f0457299048a6
2017-02-08 14:42:29 -06:00
James Edwards b170e0ad8c Fix CMakeList.txt file to use correct compile options. Fix compilation errors.
Change-Id: I6229a83d0823ee7a123cdaa9efd782108aa3a03c
2016-09-30 16:36:01 -05:00
James Edwards 7511631f08 Add libhsakmt cmake build and packaging files.
Change-Id: Ic7fa22d5b266480aa0c62628022f39da4e043d23
2016-09-20 17:48:36 -04:00