Commit Graph

103 Commits

Author SHA1 Message Date
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
Maneesh Gupta 5d44da9e46 hipcc: link to hip runtime using absolute path
Change-Id: I714b3e9da0bc1d49665b079d9c4cec1c1a2efa80


[ROCm/hip commit: f6e9f6f0bf]
2016-12-23 11:49:00 +05:30
Maneesh Gupta eaf16d02f2 Improve shared and static library support
hipcc accepts new parameter -use-staticlib and -use-sharedlib to
control linking behavior. Default is still static library.

Change-Id: I28fb9a939f8177c75abefd8b77d8118a6666d1f4


[ROCm/hip commit: ef046c7098]
2016-12-01 15:33:12 +05:30
Maneesh Gupta dead181892 hipcc: HCC workaround no longer needs env var
Change-Id: I81f4eafddbda5e9e2f1082932dd502ab451cfc24


[ROCm/hip commit: df9faffe93]
2016-12-01 12:51:58 +05:30
Aditya Atluri 3b1150f0b7 Added fast math flag
1. Use -DHIP_FAST_MATH to make precise math functions compiled to fast math
2. Added double fast math functions for sqrt
3. Changed hipcc to parse -use_fast_math (not working)
4. Added passed tag to hipFloatMath test

Change-Id: I72884b2436b4efe61e9a9297346c1358fee38a2d


[ROCm/hip commit: 043da795f6]
2016-11-23 11:19:15 -06:00
Maneesh Gupta 2234b57513 Refactor for building HIP as dynamic library
Change-Id: I65a3d9d589c4fdbbdcf1611e5427224253be8260


[ROCm/hip commit: c0419cc749]
2016-11-18 14:33:20 +05:30
Maneesh Gupta 3b85d1aec1 Revert "hipcc: Turn back linking hip_ir.ll by default"
This reverts commit b602b3d168.


[ROCm/hip commit: fd1483ce35]
2016-11-14 06:05:31 +05:30
Maneesh Gupta 8aaa4d6744 hipcc: Default to HIP_LIB_TYPE=1
Change-Id: I83b05accd76f7bc94bd724c66ae060fa0095bc8d


[ROCm/hip commit: 669d734624]
2016-11-10 11:34:00 +05:30
Maneesh Gupta bbc3811662 Merge branch 'rocm-rel-1.3' into amd-develop
Conflicts:
	include/hip/nvcc_detail/hip_runtime_api.h

Change-Id: I990a7d008da9e8dcc68250cebbc8ee6e723c7e01


[ROCm/hip commit: 72c722c3d6]
2016-11-10 08:56:38 +05:30
Ben Sander 6444dddaa7 Pre-pend HIP_PATH/lib to linker, so we find developer object code
Previously might pick up libs from /opt/rocm/lib.

Change-Id: Ia7adb345defe433d5952aa61706fe03fd7cbcd35


[ROCm/hip commit: f0bb817c11]
2016-11-04 06:06:04 -05:00
Maneesh Gupta 6aa40b6f21 hipcc: Update flags for Fedora support
Change-Id: I90be7768410e491b4f11c3b0f08470246d781d80


[ROCm/hip commit: 6fa9bc3b61]
2016-10-28 14:12:13 +05:30
Ben Sander cd3db22eb6 HIPCC adds paths to profiler include and libs by default.
Users who desire otherwise can set HIP_ATP_MARKER=0.
Also remove old unused hipcc_explicit_lib option.

Change-Id: I2bf07ba880329e7a3b1365dd33a3b2be6794370f


[ROCm/hip commit: e5ef8a2fd7]
2016-10-27 23:09:31 -05:00
Ben Sander a357a07982 Update docs and improve hipcc error message.
Change-Id: I25636d06959d02cc46c8c476d3948e91ff83ea47


[ROCm/hip commit: bff88d0f63]
2016-10-27 23:09:31 -05:00
Maneesh Gupta b602b3d168 hipcc: Turn back linking hip_ir.ll by default
Change-Id: I9cec5a1a5a4791eddf6ef3e3332143ffc3ceadb6


[ROCm/hip commit: 528b257004]
2016-10-25 12:27:24 +05:30
Maneesh Gupta 0e36aae349 hipcc: Turn back linking hip_ir.ll by default
Change-Id: I9cec5a1a5a4791eddf6ef3e3332143ffc3ceadb6


[ROCm/hip commit: f1a4303b04]
2016-10-25 12:26:54 +05:30
Maneesh Gupta da78bf853f bin/hipcc: Simplify HIP_HCC_SYS_INCLUDES_WA logic
Change-Id: I2d20d6edc1b5c0d065ba6ce6179441fa98712a87


[ROCm/hip commit: df1d6fcff2]
2016-10-19 12:57:33 +05:30
Ben Sander 21cbfecf84 Make HIP_HCC_SYS_INCLUDES_WA disable unless explicitly set =1
Change-Id: Ibfd1e049d51e420bd514b71e3652bc7029dfd4ba


[ROCm/hip commit: baeb966cff]
2016-10-18 22:45:45 -05:00
Evgeny Mankov e621f550bc [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].


[ROCm/hip commit: 2027fcd0a2]
2016-10-18 22:38:04 +03:00
Maneesh Gupta ef66a5828a Disable linking hip_ir.ll by default
Change-Id: I4917f0d75c66eee347de41bc16d999fc563a5be2


[ROCm/hip commit: 86c718a668]
2016-10-16 11:14:42 +05:30
Aditya Atluri d06509f680 added compiler flag for polaris
Change-Id: Ib14c14c0618982ac7b48f5bc704c04b54ff40ed9


[ROCm/hip commit: 90a71c4be4]
2016-10-13 14:16:48 -05:00
Maneesh Gupta 029d09ea57 .buildInfo -> .hipInfo & .version -> .hipVersion
Change-Id: I8023f4349621fd81c58615737b7e897649e0f7ca


[ROCm/hip commit: 1329be958a]
2016-10-11 11:13:41 +05:30
Aditya Atluri cb75432ac4 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


[ROCm/hip commit: dc1042ce6d]
2016-10-10 15:29:50 -05:00
Maneesh Gupta 38b583d6f0 Set _binary_kernel_* symbol value to 1
Change-Id: I92255a8238a8084010662a3ccf5d624dd2d352c0


[ROCm/hip commit: f5d14382af]
2016-10-06 09:50:35 +05:30
Maneesh Gupta 3ffd026a36 hipcc: Updated to use new include path
Change-Id: I4de6bb6978f2908dbb4d4cfd6e394d21fed90dd5


[ROCm/hip commit: f74e54102f]
2016-10-05 10:54:42 +05:30
pensun a3256a4b73 update hipcc to search for lib using CUDA_PATH on NV path
Change-Id: I7e19d1f82237a8a13f3d8284b313ac049be3f920


[ROCm/hip commit: 6a97ff68a4]
2016-09-29 15:11:57 -05:00
Ben Sander 00f8a4f5a7 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


[ROCm/hip commit: 7bc1af2776]
2016-09-26 16:36:01 -05:00
pensun cf56754431 fix of HIPCC on libc++ option on HCC path
Change-Id: Ie0d3213a165fa13f033b777b490eb60b980d02da


[ROCm/hip commit: b7fcdc6121]
2016-09-26 14:39:57 -05:00
Maneesh Gupta 20a3765fe3 hipcc: Don't try to linking unpinned_copy_engine
Change-Id: Iaa4d8b4f6dbb7940bba553f82c157a2ee9468c9e


[ROCm/hip commit: ede43b3e6e]
2016-09-23 10:43:09 +05:30
Maneesh Gupta 77c333f952 Expose HIP_VERSION_* to HIP source and HIP applications
Change-Id: I6fb0d6711642c4fad2cd89b98707ee4b548b7243


[ROCm/hip commit: a5e951e3d9]
2016-09-22 12:27:07 +05:30
Maneesh Gupta 1f34c0115c Rename hipgenisa.sh -> hccgenco.sh
Change-Id: Icfdbb35acd7e84881bd1ab7ef3c85a3109902c6a


[ROCm/hip commit: 27b5494537]
2016-09-07 10:23:02 +05:30
Maneesh Gupta 30d8cb3f8a hipcc: Pass ROCM_TARGET as env to hipgenisa.sh
Change-Id: Ib55b6366ae392ca10266ffae38722776ba91f274


[ROCm/hip commit: 380a6c412b]
2016-09-06 15:46:18 +05:30
Maneesh Gupta 7d2c2f2bf3 hipcc: Pass ROCM_PATH via env to hipgenisa.sh
Change-Id: Ibc2dd8ce65645fd946f1a749effcd9ca0828c453


[ROCm/hip commit: 23068b4ac5]
2016-09-06 15:11:17 +05:30
Maneesh Gupta df654fa623 FindHIP: First version of re-implementation
Change-Id: I84332a0f7d89271bf9370dbcd19d893119e738f9


[ROCm/hip commit: b0621a4794]
2016-09-02 15:07:33 +05:30
Aditya Atluri d041291293 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


[ROCm/hip commit: cc8ce4d58c]
2016-09-01 10:39:14 -05:00
Maneesh Gupta 124e83e37e 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


[ROCm/hip commit: 14b0fc80c7]
2016-09-01 15:06:36 +05:30
Maneesh Gupta 1e9e786427 Fix typo in hipcc
Change-Id: I35817c08b503f438f412d4bfe84afc11b671dc77


[ROCm/hip commit: 2d1d6b2973]
2016-09-01 12:11:11 +05:30
Aditya Atluri 6df2a2d8c3 added device code offline compilation for nvcc
Change-Id: I1f77131778b4dcfcf720b4367dd9f18ffaf1cbb3


[ROCm/hip commit: 6a6a0ae32f]
2016-08-31 20:36:36 -05:00
Aditya Atluri 0dd3247659 corrected path to hipgenisa.sh and fixed its working
Change-Id: I140055d5e800cd4b23253171ba889db5e63b637b


[ROCm/hip commit: c0cfdf2ee9]
2016-08-31 20:16:48 -05:00
Aditya Atluri 87d3977451 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


[ROCm/hip commit: d5a6e22c59]
2016-08-31 13:56:07 -05:00
Aditya Atluri 5cfe8d60ca 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


[ROCm/hip commit: 4a0c6c2d53]
2016-08-31 13:05:57 -05:00
Aditya Atluri dd8f451428 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


[ROCm/hip commit: 4b377f63d0]
2016-08-29 15:05:12 -05:00