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

46 Коммитов

Автор SHA1 Сообщение Дата
Aditya Atluri 1cead6a4cd added new api hipHccModuleLaunchKernel
1. hipHccModuleLaunchKernel is same as hipModuleLaunchKernel with OpenCL workitem model
2. Added copy right
3. Fixed header naming

Change-Id: I6a7c35a3566e2f8d3f5056613e34193775d4b236
2017-03-31 12:11:34 -05:00
Aditya Atluri 4e5861df7a disabled metadata apis
Change-Id: Ifb8839c581644cccc2afcd18c38a866f649a4144
2017-03-28 10:46:31 -05:00
Aditya Atluri abf369049b Re-enabled metadata parsing in HIP
Change-Id: If8caa844571cb8581450df9ffdb76e2445c75f13
2017-03-27 11:00:39 -05:00
Aditya Atluri 5a0685c137 removed llvm dependency and metadata functionality
Change-Id: Ib9783b75d326559ed29c5aa2218aed40d20ad0fb
2017-03-23 10:16:37 -05:00
Aditya Atluri 9645b0e0dc 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
2017-03-17 13:11:34 -05:00
Ben Sander 09df0977c0 Fix bug in hipModuleGetFunction.
Modules with > 1 function didn't return the function correctly.
Also fix coding convention issues
2017-03-08 13:52:38 -06:00
Aditya Atluri 1cffe49775 v3: added free for ihipModuleSymbol_t structures inside tracker
Change-Id: Ib8041a05312c08cbdf2d4fee5e7cbae17df6efff
2017-02-10 13:42:10 -06:00
Aditya Atluri 554fe191e1 v2: Fixed hipModule memory management
1. Changed test to assert for same hipFunction values
2. Added better memory management for hipModule

Change-Id: I10d7aef13c215a2211e262f3c79017f26a17d9a7
2017-02-10 13:32:13 -06:00
Aditya Atluri 6110fcdfb6 fixed hipFunction memory management
Change-Id: I7ebb323419bcd220ebd6466a8eb38e7bfdb1520a
2017-02-09 17:22:55 -06:00
Ben Sander 2f7a8ec39c Read HCC_OPT_FLUSH and optimize dispatch accordingly.
If HCC is in this mode, we can use less aggressive flushes in some
cases.
2017-01-25 21:50:52 -06:00
Ben Sander 27447f10c2 Show dynamic shared mem usage not static. 2017-01-23 22:34:41 -06:00
Ben Sander 2ffc9f4e22 Fix debug display for Module launch kernels 2017-01-19 12:40:45 -06:00
Aditya Atluri e9ff23e5f9 changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574
2017-01-11 18:05:41 -06:00
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
Ben Sander 3f810a203b Enabled USE_DISPATCH_HSA_KERNEL, with serialization in hipModuleUnload. 2016-12-06 10:14:01 -06:00
pensun 4cb1579d4a HIP resource leaks fix from Jack
Change-Id: I93f3ad7cb94ff1cba1577bd8acc90e826693d12e
2016-12-05 20:21:33 -06:00
Maneesh Gupta ac93376c26 Revert "Enable USE_DISPATCH_HSA_KERNEL."
This reverts commit f8bcbe8680.
2016-12-05 16:55:26 +05:30
Ben Sander f8bcbe8680 Enable USE_DISPATCH_HSA_KERNEL.
Optimize hipLaunchModule dispatch latency.
2016-12-04 00:13:19 -06:00
Ben Sander 783ac156ce Add additional controls for forcing serialization and blocking.
Move HIP_COHERENT_HOST_ALLOC so it is read once at init time.
Add HIP_LAUNCH_BLOCKING_KERNELS, HIP_API_BLOCKING.
Update docs on debug and chicken bits.

Conflicts:
	src/hip_hcc.cpp
2016-12-02 18:03:59 -06:00
Ben Sander 403cdf93c3 Move some internal headers from "include/hip/" to src.
Change-Id: I7041bd5c803d9318979f4a7c1d658445c614691e
2016-10-18 22:27:16 -05:00
Maneesh Gupta 88d6cad3fb src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf
2016-10-15 22:55:22 +05:30
Ben Sander dcadaadb24 Add code to use new HCC API accelerator_view::dispatch_hsa_kernel.
Disabed by default, can enable with USE_DISPATCH_HSA_KERNEL=1

Change-Id: I7a6ba76f2bada34952ed47f5335ce695fa2faea5
2016-10-14 23:46:29 -05:00
Ben Sander 1de3c1e450 fix file-not-found detection
Change-Id: Ida84923ed18b3ebf8ffcfd6ee84d8a72f611ecd3
2016-10-13 11:43:49 -05:00
Maneesh Gupta bbfc08f419 Move include/* to include/hip/*
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54
2016-10-04 22:17:18 +05:30
Ben Sander 8022671a5e Adapt to _kernelSymbol
Change-Id: Idebb7d7e895286ce5423afdcf391e00fa8b2b94f
2016-09-07 15:48:40 -05:00
Ben Sander 745310399d refactor ihipPreLaunchKernel phase#1
- Fix calls to HIP_INIT_API to pass all function arguments.
- Change ihipFunction to follow coding convention:
    - leading underscore for member fields,
    - camelCase for member fields.
- move kernel print function inside ihipPreLaunchKernel.
- add HIP_TRACE_API_COLOR, control color of messages.
- add ihipLogStatus wrapper to hipDeviceSynchronize()

Change-Id: I20bbb644da213f821404648945197254e3648fc9
2016-09-07 15:18:34 -05:00
Aditya Atluri 26215c515d Fixed group and private memory size to AQL
Change-Id: I6e721f63fe5697b7b90a7d25add9aa024d9dc429
2016-09-07 12:57:18 -05:00
Ben Sander 0fdb5bf517 Fix double-lock of stream on hipModuleLaunchKernel
Change-Id: I4ca164971c25f4eb8fbcca11d6258367bb3d2ab4
2016-09-02 12:47:49 -05:00
Aditya Atluri 3fbe062008 added logger for return status
Change-Id: Ib93012a15b1cfa90714a6ebd5153cc40e28e6566
2016-09-02 09:44:00 -05:00
Aditya Atluri af86d28187 fixed code according to convention
Change-Id: Ib90c84a30ea6da3531e8b7c3e281dd4b31915198
2016-09-02 09:31:37 -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
Aditya Atluri 71991ed8f8 Cleaned up module api
- Moved HIP_INIT_API from internal to all public apis
- renamed hipLaunchModuleKernel to hipModuleLaunchKernel
- Changed tests according to the changed api

Change-Id: I822ff63c7c5b7dad340ece49456baf9d89428e9f
2016-08-28 16:48:57 -05:00
Ben Sander 46c3ff52a6 Remove cutnpaste check on uninitialized hsa status
Change-Id: Icc0256b9b1bd01d45cca4feb1106cfe7427bcd15
2016-08-28 16:35:27 -05:00
Aditya Atluri 74a8fb132d Added NVCC support and name changes
- Added NVCC support for module APIs
- Changed hipFunction and hipModule data types to hipFunction_t and hipModule_t
- Created new intenal ihipModuleGetFunction as it is used twice
- Changed test to match with the new data types

Change-Id: I300a1c7fd40ed7065b1b8b9de97e3a06b96ed729
2016-08-26 10:32:01 -05:00
Aditya Atluri f22a3189a3 Added hipModuleGetGlobal and hipModuleLoadData
Change-Id: Iaec873f7d86b72911b6ad32e067a4dfe3d552fe6
2016-08-25 14:16:53 -05:00
Aditya Atluri af4dc556eb changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093
2016-08-24 09:47:11 -05:00
Aditya Atluri 768287f2a2 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa
2016-08-23 14:19:15 -05:00
Aditya Atluri c0fbe7891c Added stream synchronisation for hipLaunchModuleKernel
- The module kernel launch is now in sync with commands in its stream
- Moved launch kernel inside ihipStream

Change-Id: Ic00cfcf4882bf81b6203c36881a52575ea68b529
2016-08-22 14:17:55 -05:00
Aditya Atluri 9eaabb507c Added support for executable and symbols for data structures
- symbol handle is added to hipFunction
- executable handle is added to hipModule
- This way, the APIs doesn't need to track the values

Change-Id: I7cf05329cf79fe946319d7746bd9f5503268fda4
2016-08-19 08:49:34 -05:00
Aditya Atluri 792811fd52 Added hipLaunchModuleKernel and new error codes
- hipLaunchModuleKernel maps to cuLaunchKernel
- Whole lot of new error codes added for the use of driver api
 - KernelParams arguments is not yet supported
 - hipLaunchModuleKernel is a synchronous api (will change eventually)
 - All the commands in a stream will wait on host when hipLaunchModuleKernel is called on it

Change-Id: Ib4a4fae1db06fbb3a81d5a5575b026aa821264ed
2016-08-18 11:26:55 -05:00
Aditya Atluri b6ff7df81e Added copyright to hip_module.cpp file
Change-Id: Ifc5f1e251d5c52a5b59f372b3fada938dbecb34a
2016-08-17 10:36:28 -05:00
Aditya Atluri a3cb0f37c4 corrected issues from hipModule API
Change-Id: I9d07884db20df5632f5a69b1a89a0e6ca531712b
2016-08-16 16:49:42 -05:00
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