Commit Graph

119 Commits

Author SHA1 Message Date
Maneesh Gupta 5f2bf5219a bin/hipcc: Simplify HIP_HCC_SYS_INCLUDES_WA logic
Change-Id: I2d20d6edc1b5c0d065ba6ce6179441fa98712a87
2016-10-19 12:57:33 +05:30
Ben Sander 965e2e00a8 Make HIP_HCC_SYS_INCLUDES_WA disable unless explicitly set =1
Change-Id: Ibfd1e049d51e420bd514b71e3652bc7029dfd4ba
2016-10-18 22:45:45 -05:00
Evgeny Mankov 5c7146eb62 [hipcc] A workaround for [SWDEV-105366] HCC's omitting of system includes while compiling kernel code leads to 'file not found' error.
Missing includes are set explicitly.
Workaround is switched on by default, to disable it set HCC_SYS_INCLUDES_WA=0.

WA will be removed after fixing [SWDEV-105366].
2016-10-18 22:38:04 +03:00
Maneesh Gupta 3c0327451d Disable linking hip_ir.ll by default
Change-Id: I4917f0d75c66eee347de41bc16d999fc563a5be2
2016-10-16 11:14:42 +05:30
Maneesh Gupta 3b2dbd2a6d Bump HIP version to 1.0
Change-Id: Ie215a1ad4c1bf9b4a0ce94f750ddacce668bbc63
2016-10-15 22:42:45 +05:30
Ben Sander e5da443535 Add LLVM/LC version info
Change-Id: I6d0f49c75777744dbbca255d45681ed663b401c0
2016-10-14 23:45:13 -05:00
Aditya Atluri 1970ea07f1 added compiler flag for polaris
Change-Id: Ib14c14c0618982ac7b48f5bc704c04b54ff40ed9
2016-10-13 14:16:48 -05:00
Maneesh Gupta 7e277ef6e5 .buildInfo -> .hipInfo & .version -> .hipVersion
Change-Id: I8023f4349621fd81c58615737b7e897649e0f7ca
2016-10-11 11:13:41 +05:30
Aditya Atluri 09c9953649 added threadfence feature for hcc
1. Added feature for __threadfence and __threadfence_block
2. Added feature for using LLVM IR files directly while compilation
3. Added test for threadfence and threadfence_block

Change-Id: Ib7e5d89b4cca1a135952b317e5809cd05b56a3c9
2016-10-10 15:29:50 -05:00
Maneesh Gupta 747c63bee5 Set _binary_kernel_* symbol value to 1
Change-Id: I92255a8238a8084010662a3ccf5d624dd2d352c0
2016-10-06 09:50:35 +05:30
Maneesh Gupta 948d94def8 hipcc: Updated to use new include path
Change-Id: I4de6bb6978f2908dbb4d4cfd6e394d21fed90dd5
2016-10-05 10:54:42 +05:30
pensun fea7dc684a update hipcc to search for lib using CUDA_PATH on NV path
Change-Id: I7e19d1f82237a8a13f3d8284b313ac049be3f920
2016-09-29 15:11:57 -05:00
Ben Sander 061bcc6a5c Small tool, doc, sample enhancements.
- Expand message when HIP version mismatch detected.
- Doc touchup.
- change sorting of hipBusBandwidth so byte results shown at top.
-

Change-Id: Ifb4e44a5fdfb65d59c4994b11e5f13385705f7e0
2016-09-26 16:36:01 -05:00
pensun 5bdb9e349c fix of HIPCC on libc++ option on HCC path
Change-Id: Ie0d3213a165fa13f033b777b490eb60b980d02da
2016-09-26 14:39:57 -05:00
Rahul Garg c313836013 Removed deprecated hipHostAlloc
Change-Id: Ia592a3545c5d72f37e049ce29f910e404323c01c
2016-09-26 10:58:46 +05:30
Maneesh Gupta b088ca2a53 hipcc: Don't try to linking unpinned_copy_engine
Change-Id: Iaa4d8b4f6dbb7940bba553f82c157a2ee9468c9e
2016-09-23 10:43:09 +05:30
Maneesh Gupta ba9d9708f7 Expose HIP_VERSION_* to HIP source and HIP applications
Change-Id: I6fb0d6711642c4fad2cd89b98707ee4b548b7243
2016-09-22 12:27:07 +05:30
Maneesh Gupta 3cfeb3cc88 Rename hipgenisa.sh -> hccgenco.sh
Change-Id: Icfdbb35acd7e84881bd1ab7ef3c85a3109902c6a
2016-09-07 10:23:02 +05:30
Maneesh Gupta 0636a6e209 hipgenisa.sh: Refactor to handle multiple source files
Change-Id: Icc212c43b3bf8c33fb856cd6fc5be7bbebb38d42
2016-09-06 17:45:59 +05:30
Maneesh Gupta 3b9ec7f606 hipcc: Pass ROCM_TARGET as env to hipgenisa.sh
Change-Id: Ib55b6366ae392ca10266ffae38722776ba91f274
2016-09-06 15:46:18 +05:30
Maneesh Gupta 5c320865d2 hipgenisa.sh: Honors ROCM_TARGET env or uses default
Change-Id: Idabf77ff1610ba4adbc78cfa69eb6e87d7e94ee9
2016-09-06 15:45:11 +05:30
Maneesh Gupta 074ecd6368 hipgenisa.sh: exit if no command-line args specified
Change-Id: Ic1b532927fdbb5b9dfe6b2dd144ffad1ee2e6b16
2016-09-06 15:23:56 +05:30
Maneesh Gupta ff2de7892c hipcc: Pass ROCM_PATH via env to hipgenisa.sh
Change-Id: Ibc2dd8ce65645fd946f1a749effcd9ca0828c453
2016-09-06 15:11:17 +05:30
Maneesh Gupta 5c15558be2 hipgenisa.sh: Look for ROCM_PATH in env or use default
Change-Id: I31733cb059c82d3315376f8f65a280c5737cd2a8
2016-09-06 15:10:07 +05:30
Evgeny Mankov 0970b596e9 [HIPIFY][LEGACY] Do not warn on warp shuffle functions. 2016-09-05 11:18:48 +03:00
Maneesh Gupta 2c11ce3515 hipgenisa.sh improvements
- hipgenisa now unmangles kernel names
 - hipgenisa now uses a random temporary directory

Change-Id: I1d0204336bd8042dcf3f39c8f905fcceebd6b785
2016-09-04 16:20:49 +05:30
Maneesh Gupta 16c61fd6e2 hipgenisa.sh: handle extern C on HCC path
Change-Id: I2daf09d2cb323ab34653988b668e8bd89f6db94a
2016-09-04 13:48:44 +05:30
Aditya Atluri 8f536d8580 corrected offline kernel compilation on hipcc path
1. hipgenisa.sh now adds int main(){} during kernel compilation. User does not have to put it there
2. Renamed vcpy_isa.cpp to vcpy_kernel.cpp
3. Removed vcpy_isa.cu as the kernel code should be common for both paths
4. Changed Makefile and runkernel.cpp to work with above changes

Change-Id: I9f8c84706b44bb500bc493a68e959762b55a0142
2016-09-02 13:17:17 -05:00
Maneesh Gupta de24b6d228 FindHIP: First version of re-implementation
Change-Id: I84332a0f7d89271bf9370dbcd19d893119e738f9
2016-09-02 15:07:33 +05:30
Aditya Atluri f22fda1291 Fixed offline kernel compilation
1. Removed vcpy_isa.ptx as it should be generated during make
2. Made argument padding specific to hcc path
3. Renamed --gencodeobject to --genco
4. Changed Makefile to work on both nvcc and hcc path

Change-Id: Ifd053d541085d9ce4fd37bc21b07674786c7163e
2016-09-01 10:39:14 -05:00
Maneesh Gupta 1446ad3b92 Updates to gencodeobject generation logic
- hipcc honors HIPCC_VERBOSE for gencodeobject too
    - fixed gencodeobject generation logic for nvcc path
    - hipgenisa.sh is no longer passed the --gencodeobject flag

Change-Id: Iab83c18a6decef445fda8468ba5de10cd7935046
2016-09-01 15:06:36 +05:30
Maneesh Gupta adcc0e32d2 hipgenisa.sh looks for hipcc relative to itself
Change-Id: Iac63fb5a87db1d735dbfa9697ce1f769a36b4d4a
2016-09-01 12:13:11 +05:30
Maneesh Gupta 9eeb6c31ae Fix typo in hipcc
Change-Id: I35817c08b503f438f412d4bfe84afc11b671dc77
2016-09-01 12:11:11 +05:30
Aditya Atluri 6cd10125e9 added device code offline compilation for nvcc
Change-Id: I1f77131778b4dcfcf720b4367dd9f18ffaf1cbb3
2016-08-31 20:36:36 -05:00
Aditya Atluri bcbf2973a3 corrected path to hipgenisa.sh and fixed its working
Change-Id: I140055d5e800cd4b23253171ba889db5e63b637b
2016-08-31 20:16:48 -05:00
Aditya Atluri 667ec7cbe2 added sample for how-to-use pre-compiled kernels1. Corrected the exit output of kernel compilation by hipcc
2. Added sample which loads/run kernel binary during runtime?

Change-Id: I26ccaca1f844fee317592e26c9e654ce548b96a8
2016-08-31 13:56:07 -05:00
Aditya Atluri 2f8b2fca6b added kernel only compilation feature for hipcc
1. Added hipgenisa.sh file to compile kernel code to hsa code object
2. Changed hipcc to call hipgenisa.sh, making hipcc compiling the kernels

Change-Id: I976459c1ebb24343e1b1fe38b4c3a203f1adffa9
2016-08-31 13:05:57 -05:00
Aditya Atluri fb0c432095 Changed module api to work with nvcc and hipcc path
- Added cuda and cudart linking for nvcc path in hipcc
- Added hipMemcpyHtoD and hipMemcpyDtoH for nvcc path
- Changed hipDeviceptr to hipDeviceptr_t
- Fixed hipMemcpy*to* API signatues

Change-Id: I6ef076b507f92502efda475c83dcdcdd462afc37
2016-08-29 15:05:12 -05:00
Maneesh Gupta 0c051fede1 hipcc needs to link against supc++
Change-Id: Ica0949099a0bdfe2a493341dc1cd96ec93f34f11
2016-08-26 10:35:30 +05:30
Maneesh Gupta 8f19a51521 Make it easier to switch between HIP library formats
Change-Id: Id16406795a81f4bb64dbcb76b9b8763ffe59aac6
2016-08-19 13:07:22 +05:30
Aditya Atluri b8597512ca Added kernel compilation driver apis
1. Added 2 new driver apis, hipModuleLoad, hipModuleGetFunction

Change-Id: If464a7fad178121e3da791c7ac9e17ebc01a9cd0
Issues: When a sample written with them shows Aborted (core dumped) when exiting
2016-08-16 14:36:25 -05:00
Maneesh Gupta 85784149fa Several improvements to hipcc, hipconfig and CMakeLists.txt
- moved hip base version information back to hipconfig
 - fixed bug in hip patch version generation
 - renamed .hipconfig to .buildInfo
 - HCC_HOME is logged to .buildInfo only when HIP_DEVELOPER environment
 - variable is defined
 - hipcc and hipconfig require perl 5.10.1 or above
 - replaced unless defined with logic-defined or
 - added ROCM_TARGET for carrizo
 - moved config parsing to a subroutine
 - config parsing does not set VALID key anymore
 - hipcc honors HCC_HOME environment variable above buildInfo
 - hip_base package now bundles .version in bin directory

Change-Id: Iaeea6d7529671220b02e07337946aaee0af90310
2016-08-14 16:22:25 +05:30
Maneesh Gupta 346ae7bc42 Updates to HIP version string format
HIP patch version is now a monotonically increasing number

Change-Id: Ia6e35794b702bbd2018c502564d0a65997819687
2016-08-12 23:21:37 +05:30
Aditya Atluri 5a47758033 Added fix for using HCC_VERSION
1. The variable is brought outside the conditional so that its scope is increased

Change-Id: I2d2689553e67930050fe5b3648739f0f72c3bbc8
2016-08-11 16:13:44 -05:00
Aditya Atluri df1dd53453 Change hipcc to take HCC_HOME from hipconfig by default
1. Current implementation checks both env var and value in hipconfig and reports error
2. New implementation gives value in hipconfig with highest priority
3. If hipconfig is not present, fall back to env variables.

To Devs: No need to switch between environment variables for different HCC + different HIP.

Change-Id: I6cdf37e1429d7f07be3a68c7e5ba1533d832962b
2016-08-11 15:31:24 -05:00
Maneesh Gupta fcafb975a6 Fix build issues due to refactoring changes
Change-Id: I0a709ff4864244ba1b49e1a25327e3901ed6e17f
2016-08-09 22:49:32 +05:30
Maneesh Gupta 6a2e92f7c8 .hipconfig now lives in lib
Also moved reading .hipconfig to begining of hipcc

Change-Id: Ibb9d32bef64a79f189aa037c36814759c8cc8052
2016-08-03 12:01:48 +05:30
Maneesh Gupta 1381681335 hipcc reads .hipconfig
hipcc dies if HCC_VERSION is not same as the one used to build HIP

Change-Id: I180c0108812fe5cb6c5304477557c524a4a61f75
2016-08-03 11:32:08 +05:30
Maneesh Gupta 25c65c5fc4 Merge branch 'release_0.92.00' into amd-develop 2016-08-03 09:10:44 +05:30
Maneesh Gupta 58097bb717 Fix hipcc to work correctly when HIP_ATP_MARKER is not defined
Change-Id: I7cc525daccf896704e6ccf6d04ed395fda622031
2016-08-03 09:08:40 +05:30