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

102 Коммитов

Автор SHA1 Сообщение Дата
Maneesh Gupta 27b5494537 Rename hipgenisa.sh -> hccgenco.sh
Change-Id: Icfdbb35acd7e84881bd1ab7ef3c85a3109902c6a
2016-09-07 10:23:02 +05:30
Maneesh Gupta 2c69d602c4 hipgenisa.sh: Refactor to handle multiple source files
Change-Id: Icc212c43b3bf8c33fb856cd6fc5be7bbebb38d42
2016-09-06 17:45:59 +05:30
Maneesh Gupta 380a6c412b hipcc: Pass ROCM_TARGET as env to hipgenisa.sh
Change-Id: Ib55b6366ae392ca10266ffae38722776ba91f274
2016-09-06 15:46:18 +05:30
Maneesh Gupta 2d9cf60127 hipgenisa.sh: Honors ROCM_TARGET env or uses default
Change-Id: Idabf77ff1610ba4adbc78cfa69eb6e87d7e94ee9
2016-09-06 15:45:11 +05:30
Maneesh Gupta 2bb7ad5eba hipgenisa.sh: exit if no command-line args specified
Change-Id: Ic1b532927fdbb5b9dfe6b2dd144ffad1ee2e6b16
2016-09-06 15:23:56 +05:30
Maneesh Gupta 23068b4ac5 hipcc: Pass ROCM_PATH via env to hipgenisa.sh
Change-Id: Ibc2dd8ce65645fd946f1a749effcd9ca0828c453
2016-09-06 15:11:17 +05:30
Maneesh Gupta 48e8b83e20 hipgenisa.sh: Look for ROCM_PATH in env or use default
Change-Id: I31733cb059c82d3315376f8f65a280c5737cd2a8
2016-09-06 15:10:07 +05:30
Evgeny Mankov 0e76fd82ac [HIPIFY][LEGACY] Do not warn on warp shuffle functions. 2016-09-05 11:18:48 +03:00
Maneesh Gupta fbc726d1b9 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 fcd401dfb7 hipgenisa.sh: handle extern C on HCC path
Change-Id: I2daf09d2cb323ab34653988b668e8bd89f6db94a
2016-09-04 13:48:44 +05:30
Aditya Atluri 4f8c45d05a 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 b0621a4794 FindHIP: First version of re-implementation
Change-Id: I84332a0f7d89271bf9370dbcd19d893119e738f9
2016-09-02 15:07:33 +05:30
Aditya Atluri cc8ce4d58c 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 14b0fc80c7 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 5456668776 hipgenisa.sh looks for hipcc relative to itself
Change-Id: Iac63fb5a87db1d735dbfa9697ce1f769a36b4d4a
2016-09-01 12:13:11 +05:30
Maneesh Gupta 2d1d6b2973 Fix typo in hipcc
Change-Id: I35817c08b503f438f412d4bfe84afc11b671dc77
2016-09-01 12:11:11 +05:30
Aditya Atluri 6a6a0ae32f added device code offline compilation for nvcc
Change-Id: I1f77131778b4dcfcf720b4367dd9f18ffaf1cbb3
2016-08-31 20:36:36 -05:00
Aditya Atluri c0cfdf2ee9 corrected path to hipgenisa.sh and fixed its working
Change-Id: I140055d5e800cd4b23253171ba889db5e63b637b
2016-08-31 20:16:48 -05:00
Aditya Atluri d5a6e22c59 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 4a0c6c2d53 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 4b377f63d0 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 17289ca67d hipcc needs to link against supc++
Change-Id: Ica0949099a0bdfe2a493341dc1cd96ec93f34f11
2016-08-26 10:35:30 +05:30
Maneesh Gupta 1d12e8cb1c Make it easier to switch between HIP library formats
Change-Id: Id16406795a81f4bb64dbcb76b9b8763ffe59aac6
2016-08-19 13:07:22 +05:30
Aditya Atluri 3d27bbd3db 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 cd8c8171b7 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 0827e44a90 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 3be747c41e 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 ef68f2f293 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 76eeaf4fbb Fix build issues due to refactoring changes
Change-Id: I0a709ff4864244ba1b49e1a25327e3901ed6e17f
2016-08-09 22:49:32 +05:30
Maneesh Gupta bc394505cc .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 703a287bb0 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 de39d01922 Merge branch 'release_0.92.00' into amd-develop 2016-08-03 09:10:44 +05:30
Maneesh Gupta e818f2378d Fix hipcc to work correctly when HIP_ATP_MARKER is not defined
Change-Id: I7cc525daccf896704e6ccf6d04ed395fda622031
2016-08-03 09:08:40 +05:30
Ben Sander 0a74e00ac8 Make HCC ignore register keyword
- (previously would emit a warning)
- Also tweak documentation.

Change-Id: I0f4f00f82f8cc53d420112570f2d7675535e6aea
2016-07-26 12:13:48 -05:00
Maneesh Gupta b23fad53cc Fix using ATP markers
Change-Id: If2d04f80b580237426c569737551e2001a8cd35a
2016-07-21 16:02:51 +05:30
Maneesh Gupta 7022986ab2 Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c
2016-07-21 12:29:56 +05:30
Maneesh Gupta b25443b96a Bump HIP version to 0.92.00
Change-Id: I4d653213dcf3ddf7d09d36433afe31e21d17a7ee
2016-07-21 09:52:08 +05:30
Maneesh Gupta e15ff6a28e Handle linker warning correctly
Change-Id: Ifca5886e31b4551603944c2b90a8e532442e889f
2016-07-15 10:40:56 +05:30
Maneesh Gupta 1be8097c69 Add specifying ROCm target support to HIP
Change-Id: I42930d8ccf0dafe408ce5bebe2d95f99e544ee8d
2016-07-15 10:08:27 +05:30
Maneesh Gupta fecea08416 Whitespace cleanup in hipcc
Change-Id: I36d32808e9e393df44ffd80b49d09ccf68b5751e
2016-07-13 11:26:03 +05:30
Maneesh Gupta 3cbbcc30f9 Move hip version information to hipconfig
Change-Id: I2892a9eb9356ac5310b89a433d858c1c3eb986ee
2016-07-11 16:38:41 +05:30
Aditya Atluri 5633cc34cc moved half support to a source file
Change-Id: I7c09b41877e22c1b743dea25a585e5307427dafd
2016-06-30 18:23:29 +05:30
Rahul Garg 3029be78b8 Included code to calculate value of maxThreadsPerMultiprocessor property
Change-Id: Ie7cad7442f36a7163e715048de5a309febc28664
2016-06-24 15:10:11 +05:30
Maneesh Gupta 188326ee64 Updated version string
Change-Id: I86695e5deba87ef3a8d390d9a78a88be815dff0e
2016-06-21 08:39:47 +05:30
Maneesh Gupta 3761c89142 hipcc supports printing HIP version
Change-Id: I9f1cd9a29ded9d354b9ebe265dcd91b060e8fc08
2016-06-14 14:51:03 +05:30
Jack Chung bf4ba9e09e Squashed commit of the following:
commit 9548493fa754b3bf5c31cbdc2211db1e73e8c07c
Author: Jack Chung <whchung@gmail.com>
Date:   Mon May 23 11:57:23 2016 +0800

    Rename hipExternShared test to hipDynamicShared

    Change-Id: I180d9d539420fb69cfc121eceaa7db9da03483b2

commit 827081f8244a38f010789d556db0c4ff7b6422d8
Author: Jack Chung <whchung@gmail.com>
Date:   Mon May 23 11:56:27 2016 +0800

    Rename HIP_DECLARE_EXTERN_SHARED to HIP_DYNAMIC_SHARED

    Change-Id: I22362d179812ac547e0f11ba4e2bb999050e08ae

commit 4c277228ed41af187739610fa17eab1fb144c947
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 17:49:52 2016 +0800

    Adopt new interface to get dynamic LDS in hc.hpp

    Change-Id: I47b433b714633a4c97df87c40a0b1d3386429a00

commit 5a36117d777064113a528dc47b42e8c8413baa97
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 11:29:24 2016 +0800

    Add test patterns for regular expression to match "extern __shared__"

    These test patterns should better be saved as an individual test case, but I'm
    not familiar with HIP test structures so I leave them as comments in hipify as
    of now.

    Change-Id: I7fee89c89b9e73de2133357a226ec0c769733531

commit 1b26284168c7f5339f63338fd0149bed5d994656
Author: Jack Chung <whchung@gmail.com>
Date:   Thu May 19 11:25:23 2016 +0800

    Add one HIP unit test to use HIP_DECLARE_EXTERN_SHARED

    Change-Id: I4d9907815920693a74ea9d575fe26e7c67636109

commit 77b816ee5972b13d829d5bbcf06fbfd07acea2af
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 19:18:59 2016 +0800

    Adopt HIP_ prefix for DECLARE_EXTERN_SHARED macro

    Change-Id: I555ded16b449b67d2e20904013d86fe1ded6a2be

commit ef0997939c3578a9ae11621bf21c0416f04d2622
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 17:42:04 2016 +0800

    Modify hipify to support converting extern __shared__ to DECLARE_EXTERN_SHARED macro

    Added regular expression to search & replace extern __shared__ declarations to
    DECLARE_EXTERN_SHARED macro.

    Limitation:
    - Won't work if "extern __shared__" is declared at global scope

    Sample Usages:
    extern __shared__ double foo[];
    extern __shared__ unsigned int foo[];
    extern volatile __shared__ double foo[];
    extern volatile __shared__ unsigned int sdata[];
    extern __shared__ volatile unsigned int sdata[];
    extern __shared__ T s[];
    extern __shared__ T::type s[];
    extern __shared__ blah<T>::type s[];
    extern __shared__ typename mapper<Float>::type s_data[];
    extern __attribute__((used)) __shared__ typename mapper<Float>::type s_data[];

    Change-Id: I2be0b7039adeddb789f5a2b067d403a43fdc3e26

commit 93ff268724493aedfacdcd5a5aa9a100f4ebaed0
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 15:13:09 2016 +0800

    Introduce DECLARE_EXTERN_SHARED macro to encapsulate "extern __shared__" decls

    Change-Id: I93b2d37c763195b0ca9fd0afee78605a1e3272db

commit cff9c95412de343cc6405158b5acc4f1029267ff
Author: Jack Chung <whchung@gmail.com>
Date:   Wed May 18 12:53:54 2016 +0800

    Add __get_dynamic_groupbaseptr() to point to dynamic LDS

    Change-Id: I97b548d8a691488057617c551a8f331cad7afc77

Change-Id: I84e7875b76fa1f59e860e19c93bd4209cdd1fd2c
2016-06-05 06:20:44 -04:00
Ben Sander c9b231940a libstdc++ is default 2016-05-03 11:14:27 -05:00
Ben Sander d5537f9f95 add fallback to libc++ 2016-05-02 23:50:39 -05:00
Ben Sander 89df2f4e2f Merge branch 'privatestaging' into grid_launch 2016-05-02 18:38:20 -05:00
Ben Sander aeb9556dba Use hipconfig to determine platform 2016-05-02 11:33:22 -05:00