Commit Graph

143 Commits

Author SHA1 Message Date
Yaxun (Sam) Liu 07bb1c44df Let hipcc handle library in linker response file for hip-clang
[ROCm/hip commit: 04a0f9bd81]
2018-06-08 11:14:26 -04:00
Maneesh Gupta 7f9b00ba19 Merge pull request #466 from ROCm-Developer-Tools/feature_use_Float16
Feature use _Float16 and match CUDA __half behaviour.

[ROCm/hip commit: bdf2645713]
2018-06-01 13:50:12 +05:30
Yaxun (Sam) Liu ef02210768 Drop --amdgpu-target= options for hip-clang
They are replaced by --cuda-gpu-arch= options elsewhere


[ROCm/hip commit: 9008a3ec56]
2018-05-30 06:47:44 -04:00
Yaxun (Sam) Liu 960fe360f5 Add more function declarations to hip-clang
[ROCm/hip commit: b7801f1fe3]
2018-05-25 16:18:46 -04:00
Alex Voicu a7da1ccf2e Remove vestigial inline LLVMIR.
[ROCm/hip commit: 9c7fbdb597]
2018-05-24 12:46:14 +01:00
Maneesh Gupta ecb874ef5a Merge pull request #454 from ROCm-Developer-Tools/hip-clang-hipcc
Let hipcc suport hip-clang

[ROCm/hip commit: 343083b807]
2018-05-21 09:51:42 +05:30
Yaxun (Sam) Liu 67a2d9739e Let hipcc suport hip-clang
[ROCm/hip commit: f4d79a1615]
2018-05-17 14:40:15 -04:00
Siu Chi Chan c05e2e2261 initial gfx906 support
[ROCm/hip commit: b898049412]
2018-05-10 19:28:00 +00:00
Siu Chi Chan b7fb235738 On RHEL and CentOS, don't use libc++ since we are using the devtoolset-7 which has a newer g++
[ROCm/hip commit: 52a91d7c3a]
2018-03-15 16:46:01 -04:00
Alex Voicu 717a01660a Change directory name to match HIP lowercase style.
[ROCm/hip commit: dc7560ef22]
2018-02-22 13:15:10 +00:00
Alex Voicu 044ae14b92 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_purge_genco
[ROCm/hip commit: e14ac87474]
2017-12-14 13:50:49 +00:00
Phaneendr-kumar Lanka ca5c49c78c [nvccWarnings] Fix gpu deprecated targets warnings
[ROCm/hip commit: 8a721b4a36]
2017-12-12 16:00:14 +05:30
Alex Voicu 56fd7f129a This introduces LipoProteinLipase (lpl), a simple tool for creating fat binaries. It represents a direct replacement of the creaky hccgenco.sh script, which had various issues. The format it uses is that of a code object bundle, generated by the Clang Offload Bundler. The output is always suffixed with the ".adipose" extension. It is shared with HCC. The hipcc script and associated tests are modified to use lpl. Help can be obtained by invoking lpl --help. A more computer-sciency / corporate friendly name is likely to be beneficial, which is a reason for choosing easily searchable/replaceable names such as lpl or adipose.
[ROCm/hip commit: b842394957]
2017-12-08 04:22:57 +00:00
Rahul Garg d0ee6e00fe Fixed half2 issue on gfx900
[ROCm/hip commit: fef496d4f1]
2017-11-15 18:52:59 +05:30
Maneesh Gupta 94a22fe015 Remove libsupc++ dependency from HIP
Change-Id: Ib843f99dfb3057b7c28029250c2449732ea7f17f


[ROCm/hip commit: f34f5c8684]
2017-11-02 12:29:09 +05:30
Siu Chi Chan b6265074fa use libc++ on centos 7 and rhel 7.4
[ROCm/hip commit: cd6996614f]
2017-10-31 18:14:07 +00:00
Aaron Enye Shi 198d58a5e4 hcc-config already sets -lc++ -lc++abi flags
Since hcc-config will set the flags for CentOS7 and RHEL 7.X, we don't need to set flags here.

[ROCm/hip commit: ffe21c9d75]
2017-09-14 10:55:38 -04:00
Aaron Enye Shi d907b33b5d Added support for RHEL 7.4
[ROCm/hip commit: a6028ade1e]
2017-09-13 14:21:43 -04:00
Aaron Enye Shi 2b062793ed Update hipcc
[ROCm/hip commit: b340f4a6ed]
2017-09-12 17:50:44 -04:00
Aaron Enye Shi a6e0f18352 Must explicitly add libc++ and libc++abi
[ROCm/hip commit: c7746b12ac]
2017-09-12 16:59:43 -04:00
Aaron Enye Shi d277b17044 [CentOS7] Fix HIP sample hipInfo and other tests
Cent OS 7 has conflicts between its libc++ and libstdc++. Seems that we cannot use libstdc++ on Cent OS. This is related to SWDEV-131972 [ROCm CQE][Cent OS 7][G] Building any HIP sample giving an fatal error: 'bits/c++config.h'.

[ROCm/hip commit: edd0b360b2]
2017-09-08 11:46:10 -04:00
Maneesh Gupta 5c9d90007f [hipcc] Fix amdgpu target selection logic
- Refactoring introduced a bug when user does not specify any target via
--amdgpu-target, but has an invalid target specified in
HCC_AMDGPU_TARGET. In this case the selection logic was defaulting to
gf803.
- Removed defaulting to any specific target if rocm_agent_enumerator
  fails. hipcc will report this and die if linking was required.

Change-Id: I76131867049fef92331807dd19a926406dcc1d02


[ROCm/hip commit: 85ff6e3ef4]
2017-07-31 10:11:19 +05:30
Maneesh Gupta 514f5cb8fb [hipcc] Cleanup amdgpu target logic
Existing logic has a bug. If user specifies targetA via commandline
options, while enumerator returns targetB, hipcc will create a fatbin
containing targets targetA and targetB. enumerator should only be used
when no target is specified by user (commandline or env var).

Change-Id: I6da857f86860c0e671b5988cd858644a08f723b9


[ROCm/hip commit: 830e85060b]
2017-07-28 16:18:15 +05:30
Aditya Atluri 6dc545d921 fixed device selection during compilation to use rocm_agent_enumerator
1. Changed hipcc to use rocm_agent_enumerator
2. Changed square sample test to use device variable


[ROCm/hip commit: 961440b593]
2017-07-21 15:50:12 -05:00
Sun, Peng ac6d9e6c5c fix typo in hipcc
Change-Id: I5f5fb3d8f1e5e8104dca45dc213c13ae9d98a583


[ROCm/hip commit: 40d0a203f8]
2017-07-01 09:43:31 -05:00
Maneesh Gupta 54fe4d2d09 Force stdlib=libc++ on UB14.04
Change-Id: I7f24d663e57fbbee56afde12a0e61fc8bfc1e9b6


[ROCm/hip commit: 90cd2945f9]
2017-04-03 15:09:31 +05:30
Aditya Atluri d7b6039544 disabled metadata apis
Change-Id: Ifb8839c581644cccc2afcd18c38a866f649a4144


[ROCm/hip commit: 7ac438ed02]
2017-03-28 10:46:31 -05:00
Aditya Atluri 3623535fdf Re-enabled metadata parsing in HIP
Change-Id: If8caa844571cb8581450df9ffdb76e2445c75f13


[ROCm/hip commit: 7d49dcc030]
2017-03-27 11:00:39 -05:00
Aditya Atluri 2ec42a004a removed LLVM_HOME from hipcc
Change-Id: Ic3dfdde9d28f08bf54b12dfc38ab1f25884bcfab


[ROCm/hip commit: d99d5f4bbe]
2017-03-23 11:08:19 -05:00
Aditya Atluri e60749f3f0 removed llvm dependency and metadata functionality
Change-Id: Ib9783b75d326559ed29c5aa2218aed40d20ad0fb


[ROCm/hip commit: 4f4a44c736]
2017-03-23 10:16:37 -05:00
Aditya Atluri b5e95a834e fixed paths to find llvm
Change-Id: I0a4af8cea2f44fea011d09fc300e382984746d17


[ROCm/hip commit: 9d7bfbc14b]
2017-03-21 14:22:49 -05:00
Aditya Atluri 95c7942f5c Added default module launch api functionality
1. As in hipModuleLaunchKernel(..., kernelParams, nullptr); works with this commit
    2. Added headers AMDGPUPTNote.h, AMDGPURuntimeMetadata.h to do code object meta data parsing
    3. Changed CMake to look at llvm link libraries
    4. HIP developer should set env variable LLVM_HOME to remove link errors
    5. HIP depends on installed LLVM (not source, not build)
    6. Added sample to test out the feature
    7. Right now HCC does not support embedding metadata in code object. Use clang opencl
    8. Changed HIPCC to read LLVM_HOME env var
    9. New argument to CMake should be given -DLLVM_HOME=<where llvm 5.0 is installed>

Change-Id: Iba38194aa872d97cc2c90a8e5ff746c48055c868


[ROCm/hip commit: 99432cc12c]
2017-03-17 13:11:34 -05:00
Siu Chi Chan d17073a995 replace code names with gfx names
Change-Id: I5e0b96a0b474b16cfa92077a30a5b80b7230254b


[ROCm/hip commit: a96821871f]
2017-03-15 12:26:13 -04:00
Maneesh Gupta 1afa3d021b hipcc: Fix warning when HCC_AMDGPU_TARGET is not defined
Change-Id: I5cc6b0e9fb23ec78152d8bcfe9e7511e2fe91055


[ROCm/hip commit: 4ae1ea8143]
2017-03-15 12:03:05 +05:30
Maneesh Gupta aeacc966ae default to gfx803 instead of fatbin if no arch specified
Change-Id: I83d56c6ede11c356d383b09d7eb3a5f08c8d8c84


[ROCm/hip commit: 63074e24d9]
2017-03-14 14:34:25 +05:30
Maneesh Gupta 26bd86e76f hipcc: Support targets specified via HCC_AMDGPU_TARGET
Change-Id: I69fda40d9f666325d377f4b4335e7ee693069214


[ROCm/hip commit: 13ab31ba34]
2017-03-14 14:29:30 +05:30
Maneesh Gupta 4a21f2f768 Add gfx900 support
Change-Id: I3be2fbdcb6d3fa776c4fe668586c67245a1323f2


[ROCm/hip commit: db1bd201cd]
2017-03-14 13:51:38 +05:30
Siu Chi Chan c441371fef fix hcc version detection in hipcc
Change-Id: I880be03ad67e99280a259369bfe25488bf53f0bd


[ROCm/hip commit: 910df3d80f]
2017-03-06 15:34:30 +05:30
pensun 0157d13a56 Define __HIPCC__ flag at compile time when using HIPCC on HCC path
Change-Id: I5e967e0e2327264d5d3b0ca705c2504fcd33d75e


[ROCm/hip commit: fd610e497b]
2017-02-28 16:20:48 -06:00
Siu Chi Chan 3cd2b00059 Squashed commit of the following:
commit 931d3de6c1c903cfd47842bc5026a9294ac492b4
Author: Siu Chi Chan <siuchi.chan@amd.com>
Date:   Mon Feb 13 10:54:06 2017 -0500

    only force to libstdc++ if the g++ is older than version 5 since hcc already defaults to libstdc++ with newer g++

commit 1ef8d71aa788de7b9eead4906fe56186f06d7d3f
Author: scchan <siuchi.chan@amd.com>
Date:   Sun Feb 12 14:44:11 2017 -0500

    remove hardcoded -lc++ in tests

commit 5d99ef338eb3a66523cc9ddd139e86c6fd707b9c
Author: scchan <siuchi.chan@amd.com>
Date:   Sun Feb 12 14:35:46 2017 -0500

    force include libstdc++ headers and stdc++ only if g++ version < 5 since hcc uses libstdc++ by default if g++ > 5 is present

commit a2bc21b24d100feefe91cd3cb2271238bda0738a
Author: scchan <siuchi.chan@amd.com>
Date:   Fri Feb 10 04:36:27 2017 -0500

    use hcc-config to generate compiler and linker flags

Change-Id: I13a79629c0adfd75439a47d0488ff4fd619c55ba
(cherry picked from commit 866e744e40cf1378af8a679b54959bf5226c340f)


[ROCm/hip commit: 806deeb476]
2017-02-16 13:12:32 +05:30
Maneesh Gupta 4e9f1e8a66 Fix arch specific hcc extra libs env var
Change-Id: I7429da2f1cb98750d6a9601e7e5bde844a098487


[ROCm/hip commit: d14b239dd3]
2017-02-09 14:38:39 +05:30
Aditya Atluri d48f7e93cc added architecture specific macros
1. Added __HIP_ARCH_GFXNUM__
2. Usage, -D__HIP_ARCH_GFX803__=1

Change-Id: I68b3a85d62cfab3a45d2b7a70cb3518ab2565236


[ROCm/hip commit: 9a1989193a]
2017-02-08 19:45:32 -06:00
Aditya Atluri 8794954411 fixed hipcc for new compiler flags
Change-Id: I49ec059be20ff26b7482c84d91ab7a43826c6a8d


[ROCm/hip commit: 55d92833fb]
2017-02-08 14:06:01 -06:00
Aditya Atluri c692cd5d4a include arch specific ir on fallback path
Change-Id: Ib04996aae2c21eb73ef2a9f6305915e0caccd704


[ROCm/hip commit: 27d2fc99ca]
2017-02-08 12:19:06 -06:00
Aditya Atluri 82c0dcb03f Fixed Hawaii link issues
1. Split hip_ir.ll to hip_hc.ll and hip_hc_gfx803.ll
 a. hip_hc.ll contains arch generic ir implementations
 b. hip_hc_gfx803.ll contains gfx803 (fiji, polaris) specific ir
2. HIPCC can now parse --amdgpu-target=*.
 a. Usage: hipcc --amdgpu-target=gfx803 --amdgpu-target=gfx701
 b. TODO: Convert to --amdgpu-target=gfx803,gfx701
3. With LLC in HCC able to generate native f16 isa, removed inline half asm math ops
4. Fixed threadfence and threadfence_block to use functions in rocdl

Change-Id: Ic9a9e3e04139b0d75d2c2a263c030ca77adc1019


[ROCm/hip commit: 01b66dd998]
2017-02-08 12:04:05 -06:00
Aditya Atluri 08a67a522d fixed arch compiler flag
Change-Id: I19f7a0ea513d6b8059f0c10cd0e7a5ead510e246


[ROCm/hip commit: b37422d30b]
2017-01-27 08:51:48 -06:00
Ben Sander bda5602f06 Add HIP_IGNORE_HCC_VERSION.
Ignores strict checking of HCC and HIP version.
Can be useful when developing new HCC code.


[ROCm/hip commit: 138cf36547]
2017-01-23 22:34:41 -06:00
Aditya Atluri 7f00c120a7 Started adding native half math library support
1. Removed HIP_EXPERIMENTAL env variable so that device code will be accessed from LLVM IR
2. Removed soft support from headers and moved to hip_fp16.cpp
3. Added LLVM IR + inline asm to hip_ir.ll
4. Added test for fp16
5. Added barriers for hcc 3.5 and hcc 4.0 for half support
a. Which means, hcc 4.0 can parse __fp16 but hcc 3.5 cant
b. HCC 4.0 code is implemented now, hcc 3.5 will be added later

Change-Id: Ic37859b2688ebb02e168bab643d1882bf4727952


[ROCm/hip commit: d180fdaae0]
2017-01-12 11:30:20 -06:00
Ben Sander 72f6afab45 tolerate spaces in hip args
[ROCm/hip commit: 3a42a7642a]
2017-01-09 20:57:13 -06:00
Maneesh Gupta 977cd8fcb6 hipcc: Link to shared HIP runtime by default
Change-Id: I5030e3245e4afb6863b401656ca5d1ad9ae84310


[ROCm/hip commit: a42da10c44]
2017-01-04 12:39:09 +05:30