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

1307 Коммитов

Автор SHA1 Сообщение Дата
Ben Sander b29fbf736d Add HIP_MAX_QUEUES feature.
Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim.  To avoid deadlock, we can't
have a stream locked when we lock the context.  This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.
2017-01-09 21:02:56 -06:00
Ben Sander c9f5fe34e6 First pass at virtualized queue support.
Also updated stream debug messages to consistently use trace_helper.
2017-01-09 21:02:53 -06:00
Ben Sander a6034b88e2 Add more notes on debugging HIP apps. 2017-01-09 21:02:50 -06:00
Ben Sander 49d1477b9d tolerate spaces in hip args 2017-01-09 20:57:13 -06:00
Rahul Garg 090eadd0bd Added state for hipDevice.
Change-Id: Idbc3c04cd054a01b634856a1e0a23ff172e991aa
2017-01-09 23:54:01 +05:30
scchan d71ac5c91a [cmake] add library dependencies to hip_hcc libraries 2017-01-05 18:26:54 -05:00
Maneesh Gupta 9b02f0d7e5 hipcc: Link to shared HIP runtime by default
Change-Id: I5030e3245e4afb6863b401656ca5d1ad9ae84310
2017-01-04 12:39:09 +05:30
Evgeny Mankov bbb75fdd8e [HIPIFY] Elapsed time is added to statistics. 2016-12-28 20:44:05 +03:00
Evgeny Mankov ddf51d382c [HIPIFY] Added the rest of cuBlas API.
CUBLAS API 7.5 now is supported by hipify;
API calls, which are not yet supported by hcblas/hipblas, are listed as HIP_UNSUPPORTED.
2016-12-28 18:08:10 +03:00
Evgeny Mankov 9070d55814 [HIPIFY] Formatting, no functional changes. 2016-12-27 19:48:59 +03:00
Evgeny Mankov e740d368d9 [HIPIFY] [Fix] An argument of a function used as macro argument is not hipified.
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/35
2016-12-27 18:54:02 +03:00
Evgeny Mankov 3cd1adcb24 [HIPIFY] Pointer to typedef declaration is not hipified
Fix for https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/60
2016-12-26 19:03:50 +03:00
Evgeny Mankov f6aa3ddb0e [HIPIFY] Add hipconvertinplace2.sh and hipexamine2.sh scripts for hipify-clang.
The differences from the similar scripts for hipify.pl:
1. CSV file with extended statistics is produced.
2. scripts' arguments are changed a bit:
DIRNAME [hipify options] [--] [clang options]

where -- is a delimiter; all the arguments are optional, except DIRNAME.

Usage example:
./hipexamine2.sh ./tmp -o-stats ./tmp/stats.csv -- -I/usr/local/cuda-7.5/include -I/usr/local/hipify-clang/hipblas/include 2>&1 | tee log
2016-12-23 22:06:20 +03:00
Evgeny Mankov e8c5906062 [HIPIFY] Fix line endings. 2016-12-23 18:01:26 +03:00
Evgeny Mankov 52b3fb9f79 [HIPIFY] Stats: Calculation of changed code amount, based on actually replaced bytes.
+ REPLACED bytes, TOTAL bytes & CODE CHANGED are added to statistics.
+ -o-stats option for specifying the file with statistic.
2016-12-23 17:40:06 +03:00
Maneesh Gupta 16b705d912 hipcc: link to hip runtime using absolute path
Change-Id: I714b3e9da0bc1d49665b079d9c4cec1c1a2efa80
2016-12-23 11:49:00 +05:30
Ben Sander fd5b0c68b1 Support size_t in memset kernel.
Add disable for HSA_AMD_AGENT_INFO_MAX_WAVES_PER_CU
Remove one copy of completion_future in memset.
2016-12-22 12:25:09 -06:00
Maneesh Gupta 1b50462ce0 hip_hcc package changes
- updated hip_hcc package creation dependencies
- support build hip_hcc package for HCC-1.0

Change-Id: Idf23e415eff8cb352a8906191c79bd822c7618e7
2016-12-22 15:30:38 +05:30
Ben Sander cf338d716b Increment API sequence number.
Change name to tls_tidInfo
2016-12-21 15:30:36 -06:00
Evgeny Mankov ac8166d051 [HIPIFY] Statistics in CSV file.
+ Stats by CUDA ref name.
+ Conversion %.

TODO: Calculation of changed code amount, based on actually replaced bytes.
2016-12-21 23:08:01 +03:00
Rahul Garg 0578febb99 Removed redundant GetPCIBusID int version function
Change-Id: I37f2ff87d09fcfb1e3b104c44c51f606fcb83c01
2016-12-20 23:25:16 +05:30
Evgeny Mankov ea8e886077 [HIPIFY] Reflect unsupported CUDA API refs in statistics
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/53

+ Unsupported refs (by HIP) are now might be listed along with the supported ones.
+ Warnings are added for the unhandled (by HIPIFY) refs, for instance:
  "warning: the following reference is not handled: 'cublasContext' [param decl ptr]."
+ Reflect unsupported CUDA API refs in statistics.
+ Occupancy API [HIP_UNSUPPORTED].
+ A few CUBLAS refs are listed as HIP_UNSUPPORTED.

TODO: Statistics in CSV file.
2016-12-19 14:38:19 +03:00
Rahul Garg 4988975b59 Fix for HCSWAP-67
Change-Id: I0b2ce5ab933237947fb41d89769db3da16e5be6a

Conflicts:
	src/hip_hcc.cpp
2016-12-19 16:19:51 +05:30
Ben Sander 5d815937de Add name for function 2016-12-17 08:54:09 -06:00
Ben Sander 2bd70ff345 Remove HSA dependency from hipFunction_t
Place _groupSegmentSize and _privateSegmentSize inside Function,
remove hsa_executable_symbol_t.
2016-12-17 07:22:56 -06:00
Ben Sander 06d382bc6d Remove USE_DISPATCH_HSA_KERNEL=0 path. 2016-12-17 07:22:56 -06:00
Ben Sander 3f9404d0e1 Refactor Module and Function APIs.
- hipFunction_t is now returned by value.  This eliminates dynamic
      allocation / memory management complexity in the module.  Removed
the kernel
      name so the structure is just 16 bytes now.

    - Moved the hsa_executable_load_module and hsa_executable_freeze
      calls to the hipModuleLoad and hipModuleLoadData calls.

    - Apply sharedMemBytes in hipModuleLaunchKernel to group segment
      size (not private).
2016-12-17 07:22:33 -06:00
Rahul Garg bddaa0e81c Mapped hipDevice_t to int
Change-Id: I6cfa56c42b7cd04aa0e0bce510c0d72d34ea211a
2016-12-17 16:53:03 +05:30
Aditya Atluri c673aec971 disabled half native support as inline asm is not working
Change-Id: I3073d8ae39eed321987f0f2f0e689eec4cdbb48c
2016-12-16 09:24:59 -06:00
Ben Sander ab07d9b4a7 Print limits on CUDA devices 2016-12-16 08:55:11 -06:00
Ben Sander d39ef58daf Fix typo 2016-12-15 14:42:52 -06:00
Ben Sander b53ba931e8 fix copyright 2016-12-15 14:42:52 -06:00
Ben Sander a30b36afdc remove TODO file 2016-12-15 14:42:52 -06:00
Evgeny Mankov a9488603b4 [HIPIFY] nested macro is not hipified, when it isAnyIdentifier
Fix for https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/55
2016-12-15 21:00:34 +03:00
Brecht Carlier cc73dd4ed5 Update hip_faq.md
Fixed navigation and list.
2016-12-15 14:08:34 +05:30
Martin Schleiss 8a4fe76de2 Fix another typo 2016-12-15 14:07:20 +05:30
Martin Schleiss dc8db38f04 Fix various typos
Conflicts:
	README.md

Change-Id: Ie296d503d16121a62fed1a208352ec2b81c97fd9
2016-12-15 14:06:38 +05:30
Peter Steinberger e2dc1cc27f Fixes a typo: perforamnce -> performance
Change-Id: I85e3b3d22c98c16556227283bfb33530e1bce2cf
2016-12-15 14:01:08 +05:30
Aditya Atluri a1d1fcfdac fixed compilation issues
Change-Id: I96692538736e2e4f2da9dba9c8c29a164aec4c0d
2016-12-14 16:50:16 -06:00
Aditya Atluri c20a86d866 added half2 support
Change-Id: I0f3b9b7037fed97e80ec99f5369c75a63f001aae
2016-12-14 14:18:48 -06:00
Sandeep Kumar 8b0ce6e81b Fixes in Makefile of couple of samples
- modified Makefile for hipblas_saxpy to replaced hcblas.so with hipblas.so as part of HCSWAP-100
- Resolved missing separator issue in peer2peer cookbook Makefile

Change-Id: I678fea267eee1481f02da09379339ed78d3f95f2
2016-12-14 16:27:14 +05:30
Aditya Atluri 01ed8e91e9 added simple half math ops
Change-Id: I10b1d1023a9e5f2ba63f28c4a2bbe60ee49a8aee
2016-12-13 20:20:58 -06:00
Aditya Atluri 26934a920c disabled compiler flag hcc 4.0 for half support
Change-Id: I32175113f4c05d43310b3a05c2a14e12f6d48b09
2016-12-13 20:06:56 -06:00
Ben Sander 5eed20be12 Add USE_IPC to disable use of IPC APIs. Set to 0. 2016-12-13 15:07:04 -06:00
Aditya Atluri 7a712aa76b added few type reinterpret cast device functions
1. __int_as_float
2. __hiloint2double

Change-Id: Id247c196887b24a12090f0521bf91e13afeec733
2016-12-13 14:41:36 -06:00
Aditya Atluri 02eab122c5 added half math addition ISA support
Change-Id: I293b771f695b499b795d7e53f600c9e4fe2a2071
2016-12-13 09:18:34 -06:00
Evgeny Mankov 6bcacf83a4 [HIPIFY] Code refactoring and total stat collecting
+ Single base class for Preprocessor and MatchFinder classes.
+ Total Stats for multiple files is added.
2016-12-13 18:01:08 +03:00
Evgeny Mankov b73ffa4e7c [HIPIFY] Rename -n to -examine 2016-12-12 20:03:01 +03:00
Evgeny Mankov d5eb7f494f [HIPIFY] Multiple source files support. 2016-12-12 19:57:19 +03:00
Aditya Atluri 812cf130b6 Changed threadfences to match target parsing by hcc
Change-Id: I28fcabbaacd13495b707f263fd09afaead0665fa
2016-12-12 10:16:58 -06:00