Γράφημα Υποβολών

87 Υποβολές

Συγγραφέας SHA1 Μήνυμα Ημερομηνία
agunashe d96481fb36 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261
2021-08-22 23:56:07 -07:00
Vladislav Sytchenko 7f0c18457d SWDEV-273235 - Initial support for Windows CMake
This change refactors the current ROCclr cmake build to accomodate a
more modular approach. This allows easier support for multiple compiler
and/or multiple runtime backends.

Currently supported compilers:
    HSAIL - enabled by ROCCLR_ENABLE_HSAIL (defaults to OFF)
    LC    - enabled by ROCCLR_ENABLE_LC    (defaults to ON)

Currently supported runtimes:
    HSA - enabled by ROCCLR_ENABLE_HSA (defaults to ON)
    PAL - enabled by ROCCLR_ENABLE_PAL (defaults to OFF)

Any configuration is supported as long as at least one compiler and one
runtime is enabled.

Since ROCclr clients can configure it differently, one cannot reuse the
same ROCclr build artifacts between different clients. To assure this,
this patch assumes that ROCclr will be built as part of the clients
project.

Change-Id: Id4a5c43634296802b8ae87d1ad5984968391ccaf
2021-08-22 23:56:00 -07:00
Vladislav Sytchenko 3a12ab8fae SWDEV-1 - Remove VEGA10_ONLY macro
This is a relic of the past.

Change-Id: I888cf96368e321dcb000c1e59e9ed3f7c5dff7ab
2021-04-15 16:11:31 -04:00
Vladislav Sytchenko c7b50bb890 SWDEV-280473 - Support HSAIL shared library build
This change makes HSAIL usage similar to that of Comgr. By default, the
runtime will statically link against it, however if HSAIL_DYN_DLL is
defined, then the runtime will try to dynamically load HSAIL.

Currently stick to statically linking to HSAIL. In a feature patch the
dynamic loading behaviour will be enabled.

Change-Id: I6a78a4375975cf847f236b200404c8cf941d012b
2021-04-14 12:25:54 -04:00
Jason Tang 542ae617e5 SWDEV-277771 - Build rocclr with c++ standard 14
Change-Id: Id91460ca50acd0640d479f207fb169d207648f61
2021-03-22 11:28:56 -04:00
Ravi C Akkenapally e94d482c8f SWDEV-179105 - Stream Operations: Add feature querying support
Change-Id: I01cb85223b83f3655e5e21ad16639da406e5cd3e
2021-03-02 11:02:15 -08:00
Tao Sang c1c5c89cd0 SWDEV-270973 - Add missing copyright headers
Change-Id: I6bb17650f74371dae6e29c59fd6bb2022cc062fe
2021-03-02 12:01:54 -05:00
Jason Tang 54a7170e40 SWDEV-198364 - Only enable clgl sharing in ROCm path when building LinuxPro
Change-Id: Ie4d87e252519d090a62b930f7ebb315d3477b690
2021-02-23 14:15:04 -05:00
Jason Tang 82c6aabb0a SWDEV-268345 - Remove ADDRESS_SANITIZER option from cmake
DevOps is going to add this through build script.

Change-Id: I536d691ea8c05d8289bad1448cac532a8ef93cc4
2021-02-16 17:37:48 -05:00
Vladislav Sytchenko 671778bdd3 SWDEV-232428 - Push hostcall implementation to the device layer
This change unifies the hostcall implementation for all the backends,
by pushing the common logic to the device layer. This is done by
replacing the use of hsa_signal_t with device::Signal (a light wrapper
around it).

Change-Id: I7b6fca7930b5a0b199da5d85e2e048354cc04e7b
2021-02-16 17:19:57 -05:00
Jason Tang c65be06c4c SWDEV-265304 - Disable GFX8 in LinuxPro ROCr build
Change-Id: Ia26bb025a133a4acb255a539a45668975019cc6e
2021-02-16 13:32:47 -05:00
Jason Tang 64714fdbbe SWDEV-268345 - Enable address sanitizer build when ADDRESS_SANITIZER is ON
Change-Id: I09e5c5b2c21637bc67c23267411c2996ee57aad4
2021-01-22 16:21:50 -05:00
Sarbojit Sarkar 673f483879 SWDEV-262734: Fix for Numa policy bug
Change-Id: I4be62c1fc45a59d09aa043af1c998b9e308da604
2020-12-16 11:22:32 -05:00
Rahul Garg 6d9ceed2f4 Revert "SWDEV-253557 Strip shared lib for release builds"
Fixes SWDEV-256563 - Mainline build breaking issue.

This reverts commit eac709a8a9.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Ib2e9ef362dc7dece9f4bbe7611b4be45087aa18e
2020-10-14 17:53:04 -04:00
Reshabh Sharma eac709a8a9 SWDEV-253557 Strip shared lib for release builds
Change-Id: I79608406b3295c762a3781abd455bd63e6893dd4
2020-10-14 10:50:07 -04:00
Jason Tang cef70aa8d3 Export tiny_printf in PAL build
Change-Id: I6166bb3a4d177f03c60e14116c41b9b6da6e6ed2
2020-09-09 10:55:35 -04:00
Tao Sang e986f5c820 Replace private libelf with elfio
Change-Id: I4c630d78f7bf23dda85ec8480bb2790864405657
2020-08-26 12:32:13 -04:00
Freddy Paul 6b8ae3dd77 Align to new hsa cmake target usage.
HIP or any ROCm component above HIP may not be calling
hsa-runtime directly. OpenCl and HIP are the two components
calling ROCclr and to bring in the transitive dependency of
thunk,ROCR,amd_comgr it is better to have the dependency
chain set correctly in the ROCclr cmake target. With this
change OpenCl or HIP should not be setting ROCR dependency
directly.

This helps to link OpenCl(libamdocl.so) link statically with
comgr,hsa,thunk.

Change-Id: I0d538b7abc6a0ce700ec3332b97fc144db5fc5ff
2020-07-22 11:21:09 -04:00
Tao Sang 214827defa Add numa lib detection in cmake
If numa lib is in building system, define ROCCLR_NUMA_SUPPORT to
support numa; otherwise, don't support numa.

Change-Id: I3848d7fdec5a3813ff1edad9b71ff04372dc0b9a
2020-07-21 14:58:56 -04:00
Tao Sang 4d67856bed Support static lib of comgr
Add "BUILD_SHARED_LIBS" flag to cmake file.
To build libamdhip64.so, you don't need change cmake cmd.
To build libamdhip64.a, you need append
   -DBUILD_SHARED_LIBS=OFF
to cmake cmd.

Change-Id: Ibc30ed52963314b2b8cc1df73c360fc1ba15780a
2020-07-11 09:41:03 -04:00
Matt Arsenault 3a564bc6cb Enable warnings on unused functions
There weren't all that many to fix, and it's not even the most
prevalent warning.

Change-Id: I286aaa42e3c4e305b1e1918f302bbf71e41dd47d
2020-07-06 10:29:29 -04:00
Matt Arsenault a430215067 Fix compiler test for clang
Change-Id: I06e01d3422ec4aa8d0fb8f5d9a44e2a840531a87
2020-07-06 10:27:11 -04:00
Jason Tang 6f2dfea285 Remove finding OpenCL library
Change-Id: I44faa5c3d40430ae9c9bc5440252812a8e7f717d
2020-06-23 12:42:42 -04:00
Aryan Salmanpour 1bd265f8d6 move hostcall-based implementation of messages/printf from rocm backend to the common device layer
SWDEV-232428

Change-Id: I14b774e66a1783569c6d34d8759c1faa5f340e27
2020-06-18 13:49:28 -04:00
Vlad Sytchenko 947dbe82fb Enable the use of some warnings when building ROCclr
Enabling anything beyond -Wall like -Wextra or -pedantic seems impossible as our code base explodes in thousands of warnings.

-Wno-unused-{variable/function} is not present in the p4 build, but with gcc7.4.0 we get hundreds of instances of this warning being triggered in the code base.

With this change only two warnings show up during the build - -Wsequence-point and -Wunused-but-set-variable. The fix for the first is alredy in review.

Change-Id: I2ff37981377487b0e07fd9490498e38a60792c0c
2020-06-15 17:32:45 -04:00
Vlad Sytchenko 3a84fcd13e Handle the option USE_COMGR_LIBRARY correctly
This is a follow up to http://gerrit-git.amd.com/c/compute/ec/vdi/+/359563. The setting is now either ON or OFF, never "yes".

Change-Id: I031d013a8d239dc72ef610da81bd31b8b78a3ba8
2020-06-03 17:25:47 -04:00
Matt Arsenault 0c539737cf Use standard cmake option for USE_COMGR_LIBRARY
Change-Id: Id94d88a33772d9c9ab28f9a82c6f761d9c867476
2020-06-02 10:32:45 -04:00
Alex Xie 9a8bd9e68b ROCMOPS-924 centos-6.10 support for opencl_on_rocclr build
Fix a build error in centos 6.10. When linking, ld cannot find function
clock_getres. This function is from librt (for glibc version before 2.17).

Change-Id: I698f768d0618a054d5d0fc73b9f1916a7ce542fb
2020-06-01 17:47:03 -04:00
Matt Arsenault 4d1cbcba4e Don't include llvm directories
There aren't any llvm includes here.

Change-Id: Ifce797c50bde772845923b1054fadd4173b3119a
2020-05-29 15:36:26 -04:00
kjayapra-amd df6994c3f9 SWDEV-229840 - Just adding DDEV_LOG_ENABLE instead of assigning it to -1.
Change-Id: I6859bc55e6e82ffae66ca84ee686c7e76cd8b6f2
2020-05-23 11:00:34 -04:00
Matt Arsenault 8988f34935 Export targets for find_package
Currently the opencl build hardcodes the path and directly includes
amdvdi_staticTargets.cmake. The proper way to find this is through
find_package, so start exporting the expected format.

Change-Id: Ic960a2dd467d57867cb96ab831dbd85bca336535
2020-05-21 13:47:59 -04:00
Matt Arsenault a38144dec7 Don't add_subdirectory on a binary directory
This doesn't make sense and didn't do anything.

Change-Id: If6cbcd9269d8d45b091f100318afd3ab9ec6ceec
2020-05-20 09:01:08 -04:00
Matt Arsenault 3624b8df16 Fix missing target includes for GL/EGL headers
Change-Id: I9a31eae40cb7187dd0264ad5b9577fab96464b41
2020-05-14 16:56:34 -04:00
Matt Arsenault 3a7f2e3682 Improve usage of target_include_directories
Eliminates most of the global include_directories. The install header
paths are different from the build directory, so we have to separate
those for the exported target include paths.

Change-Id: I13e4c56c1218cb31c29a316422dc5fd1d09d8b1b
2020-05-13 17:25:58 -04:00
Matt Arsenault 199f6114d0 Move top.hpp into include directory
This partially avoids a difference in the include paths between a
build and install tree, and simplifies the install configuration.

Change-Id: If8119507594e0d284ac08c141c6c51c88ec619ef
2020-05-13 16:30:43 -04:00
Michael LIAO 503ef06555 Clear executable permission.
Change-Id: Ia0d363b1ba89d7947e5b5a55cb67edba86f0515e
2020-05-07 10:38:58 -04:00
Payam d6100a9547 name change vdi to rocclr
Change-Id: I856d6ac1a9a83d89715d6e33dec4aa17abc2f2f2
2020-05-06 00:54:45 -04:00
kjayapra-amd 8931ac106c SWDEV-209747 - Enable DevLogs on DEBUG or DEV_LOG_ENABLE Compiletime var
Change-Id: Ie5b7855c469f03947b680d4844c1657cbae55b11
2020-05-05 09:55:54 -04:00
Matt Arsenault cba7a4d20e Avoid intermediate object library
Object libraries are weird, and producing a library by using the
target objects from them doesn't automatically import the interface
properties of the linked targets. These object libraries only have
single uses, so just directly create the final library from the
sources.

Leaves libelf as an object library, since there seems to be some cmake
oddity when trying to link an unexported target to an exported one.

Change-Id: Ic379612c89340c40085c9862cfe111fa4bbff425
2020-04-28 16:41:34 -04:00
Matt Arsenault e7d6a5e5a6 Prune some unused compile definitions
There's a lot of unnecessary system configuration junk here which
isn't used, and is already available through compiler predefines. This
is also blindly placed without really checking the host architecture.

-DLINUX is unused.

-D__AMD64__ is predefined by the compiler, and is also redundant with
 __x86_64__ and ATI_BITS_64.

__x86_64__ should also be removed. It's used in libelf, but I'm not
sure if msvc predefines this or not.

-DqLittleEndian is unused, and also doesn't follow macro naming
 conventions (plus compilers have their own predefines for checking
 this).

Change-Id: I89f6fc4c88e861623be7f32df41aecbb4e9009ab
2020-04-24 12:38:42 -04:00
Matt Arsenault c60d7d860d Add comgr macros to public definition export
This should allow the cmake build for the opencl runtime to work
without manually adding these definitions. The PAL build also adds
these as private defines in its build, so change rocm to match. This
should probably be including these a config header to benefit other
builds, but this will at least avoid some clutter in the opencl build
for now.

Change-Id: I1044984b87ba3fc72e280e255ceea2dd9e3337ff
2020-04-24 12:12:54 -04:00
Matt Arsenault 350d54e198 Don't use include_directories for ROCR includes
Use the modern cmake, target specified method.

Change-Id: Icd7196bfccb85f255bbc01bc87c6667d961bb236
2020-04-24 11:05:40 -04:00
Matt Arsenault ff12016c7b Use target_compile_definitions for HSA vs. PAL device macros
Change-Id: I7e1240cb4d32ce86948814d727a516025ee976fa
2020-04-24 11:05:16 -04:00
Matt Arsenault 815198bec9 Cleanup libelf build
Use target specific forms for define/include. Don't set
CMAKE_CXX_FLAGS for the standard, which is already implied from the
parent build.

Change-Id: I4000893376d6685e9889b66ad8451fc493020272
2020-04-24 11:04:52 -04:00
Matt Arsenault ec62f9b8de Unscreamake some cmake functions
This was already using the new lowercase style in most places.

Change-Id: I7ed04a3652c932581a2897f2fee79d79aa732f8e
2020-04-24 11:04:21 -04:00
Matt Arsenault 3c2e0f6155 Remove leftover cmake debug printing
Change-Id: I886b21717eadab6b4365ddaff063fbcd37300aa8
2020-04-24 11:03:37 -04:00
Matt Arsenault 83455f36c5 Modernize cmake usage for finding amd_comgr
Don't use find_path on the header, it's redundant with the interface
include directories on the imported target. Use the target specific
forms for including and linking it.

Change-Id: I3923143c992888ee7d5ee1130084ac2e5eaa0f3a
2020-04-24 11:03:27 -04:00
Matt Arsenault a36f19df51 Don't use CMAKE_SOURCE_DIR
This is almost never the correct thing to use since it breaks adding
this as a subproject build in a larger build. Switch to refer to
CMAKE_CURRENT_SOURCE_DIR, which is equivalent in a standalone build.

Change-Id: Ib8dbbc0668491f4227389b9a5b27da770b3bc5ce
2020-04-24 11:02:52 -04:00
Matt Arsenault d4a447967e Use cmake features to set c++ version
Change-Id: I2649cdca5bc68298371f770a7a624a21db3f4137
2020-04-21 16:01:30 -04:00
Matt Arsenault 356c3bf5b8 Update cmake project name
Change-Id: If4bdf15ca3774148c0c415e8cd950efa310ef62f
2020-04-21 15:23:06 -04:00