Commit Graph

309 Commits

Author SHA1 Message Date
Ben Sander 3596901c3d Change HIP async copy to call av::copy_async.
Change-Id: I4274b63ced3940d5249c32bd9d156296529c70e8
2016-09-22 14:21:19 -05:00
Ben Sander 8598d8c6d3 Use HCC's synchronous accelerator_view::copy
Replace large block of HIP code with a call to HCC av::copy().

Change-Id: Ic32e1801cf8d4cd116ac02b72c41b1a1e4b6065c
2016-09-22 14:21:19 -05:00
Ben Sander 60f797cc5a Remove USE_AV_COPY, USE_PEER_TO_PEER fallback paths.
Change-Id: I9c20173e62029c4caebabc98784c6d7697758e4f
2016-09-22 14:21:19 -05:00
Ben Sander 39750da9a5 Remove HIP_STAGING_BUFFER
Code simplification/cleanup:
Remove stale fallback paths that uses something besides the unpinned engine.
Remove HIP_STAGING_BUFFER env var - now is const 2, 0 no longer has
special meaning.

Change-Id: I7d24cdd1067dd0c244e87b6a83897cb135d307e7
2016-09-22 14:21:18 -05:00
Ben Sander 271e2357e0 Fix bugs for different CopyModes
Change-Id: Ie59fb3b36a9ff2de178307a6d5756b5c71e0306b
2016-09-22 14:21:18 -05:00
Ben Sander 17d7fc586e Move isLargeBar to UnpinnedCopyEngine constructor.
Change-Id: I7a7d3a40b1d4e0c6ec856658a6a70e5e70d287ce
2016-09-22 14:21:18 -05:00
Ben Sander 77c86934c1 Refactor Staging Buffer CopyDeviceToHost
Use copyMode.  Embed algorithm selection inside the unpinned class.

Change-Id: Ic75fd5931717a3160904402794bbed3ccd445112
2016-09-22 14:21:18 -05:00
Ben Sander e77d75c1c1 Refactor staging buffer CopyHostToDevice.
- Move algorithm selection inside Unpinned class.
- Refactor function names.
- Use size_t for size threshholds.

Change-Id: Iac4de652ac9d49acbf527aa0849e388b8ecd8486
2016-09-22 14:21:18 -05:00
Ben Sander b4bc101c96 Updates docs for hipHcc* functions, move to header 2016-09-22 13:05:47 -05:00
Aditya Atluri c0babe6b0a Fixed typo in function return
Change-Id: I8905bfdbc162815ac10c926e77a9bab432932c9c
2016-09-22 09:30:05 -05:00
Rahul Garg 86e441c769 Added hipRuntimeGetVersion function
Change-Id: I59ec2beacb5a94439deed0dcc8eb37d6de1cc900
2016-09-22 15:21:23 +05:30
Rahul Garg 8842a0d5b8 Added return error code hipErrorInvalidValue in hipMemGetInfo
Change-Id: If01b012136b655ff8eb4878eb703dfe3e6a36530
2016-09-17 23:54:20 +05:30
Maneesh Gupta b14d2c8c8e Updates to doxygen documentation for HIP Event APIs
Change-Id: Ic2e4a5725aebca14ac824da43436aacd0fe0a45c
2016-09-16 15:06:54 +05:30
Rahul Garg cb3bff0a0d Partial updates of error codes for Memory APIs
Change-Id: If924867cc62f56dc9eaf81f5499ba66f417c393a
2016-09-16 12:59:41 +05:30
Rahul Garg 6139d5f587 Added further properties in hipChooseDevice
Change-Id: I8f7f5800e8a95873318a534f09e75e037ad31b06
2016-09-16 11:18:34 +05:30
Aditya Atluri 6cb5a13a2b added more error codes to hipErrorGetString
Change-Id: I80c675905d94813502040fd0caa07985fa8c7dcc
2016-09-15 11:28:18 -05:00
Aditya Atluri 2c12394d52 added new error reporting case
Change-Id: I5f0a37dbe396412f5602d04df19d538e451c2696
2016-09-15 10:50:26 -05:00
Rahul Garg c6808ddc0e Updated Doxygen related documentation for Error APIs
Change-Id: I16873503d8e96df91831e2a0503835a1ff0220e3
2016-09-13 16:54:46 +05:30
Aditya Atluri c3ab5a8df8 Added async memcpy driver api
Change-Id: I90e8a078d668a408e79f9e1142e7534771467a4f
2016-09-09 10:21:52 -05:00
Maneesh Gupta 0c56f707f0 Remove redundant API hipDeviceGetFromId from HCC path
Change-Id: Id6b4f1374b12cb3949d725f0859425cd8de6d868
2016-09-09 12:06:19 +05:30
Aditya Atluri 5845a2d8c6 Added signal management which passes stress tests
Change-Id: I7e1660a8ca2c5ee580a91f76eae9a58ca49f0457
2016-09-08 14:52:51 -05:00
Rahul Garg 9ad1d2c39e Removed return code related doxygen from hip_device src file
Change-Id: Iffe51b69dd6be064b7898d06e537a505e27edb0b
2016-09-08 23:12:12 +05:30
Rahul Garg 817bd7270f Initial support for hipChooseDevice function
Change-Id: Iedbf5f98c96673ab701dd7539d80a77b994d296f
2016-09-08 22:37:24 +05:30
Ben Sander 8022671a5e Adapt to _kernelSymbol
Change-Id: Idebb7d7e895286ce5423afdcf391e00fa8b2b94f
2016-09-07 15:48:40 -05:00
Ben Sander fd67689114 Add hipStreamQuery
Change-Id: Ib0813b1065feba4fe9ae861d24cfc6f9c5f580be
2016-09-07 15:18:34 -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 3c90766c70 remove printf
Change-Id: I36510a7ff0425f05a6d0b9c65cda4397c9cc2d95
2016-09-02 17:50:31 -05:00
Ben Sander 0fdb5bf517 Fix double-lock of stream on hipModuleLaunchKernel
Change-Id: I4ca164971c25f4eb8fbcca11d6258367bb3d2ab4
2016-09-02 12:47:49 -05:00
Ben Sander 8e883ab666 hipStreamWaitEvent update.
Add passed to hipStreamWaitEvent test.
Fix pointerAttrib test to work with new and old HCC versions.
Minor code touchup.

Change-Id: I139ba6ce9f6bf2b4bee89aebdec5981b4346ffc0
2016-09-02 09:46:59 -05:00
Ben Sander 9ee9284306 Only use ihipLogStatus from top-level HIP functions.
Change-Id: I07e9c088d5c16a79ed52cb008a798889a656016c
2016-09-02 09:46:59 -05:00
Ben Sander 9a99000a62 Use create_blocking_marker for WaitEvent implementation
Change-Id: Ib3113f69a14e48b9fe0558d7b455148e478d8eed
2016-09-02 09:46:59 -05:00
Ben Sander 02f65a483c Refactor for stream->_av.
- move _av into stream critical section.  ( HCC accelerator_view is not
  thread-safe but HIP steram is. )
- Refactored many places in code that need to acquire critical section.
some were previously thread races, ie enqueueing marker.

-remove support for GRID_LAUNCH_VERSION < 20
-Enable USE_AV_COPY based on HCC work-week.
- Review hipModule docs, some calrity/editing.

Change-Id: I3ce7c25ece048c3504f55ecd4683e506bb1fc8b6
2016-09-02 09:46:59 -05:00
Ben Sander 6a8ae733cc enable dynamic shared always
Change-Id: Idc246546f583a82489ef34d1fe22d0e118b1e0ed
2016-09-02 09:46:59 -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
Rahul Garg 093569e611 Removed Doxygen return codes from source file
Change-Id: Iaf9f13df73a9c17c494c9ff67203b836ee90648d
2016-09-02 18:37:26 +05:30
Rahul Garg 302f6c1e3a Added hipDeviceTotalMem
Change-Id: I877fbc9e4767bbd70ecd0184f5123c9bc6cbd06f
2016-09-02 15:12:50 +05:30
Rahul Garg 392860bf20 Added hipDeviceComputeCapability, hipDeviceGetPCIBusId and hipDeviceGetName
Change-Id: Ibe2d975df796712633900ddc7b0734ec2b8ab4ec
2016-09-02 14:45:53 +05:30
pensun 4ed2035dd2 Modify hipMalloc to take size of 0 and return NULL pointer for it.
Modify hipMemoryAllocate test for this change.

Change-Id: I884aee0cd5fe0c60aebb4cb37cdbb4833c5bd0c7
2016-09-01 13:08:30 -05:00
Rahul Garg 25f3032328 Added doxygen documentation for hipCtxXXX APIs
Change-Id: Id9cf3491e9a8c78cb7bfeb9976c36d6fe565628f
2016-09-01 12:22:37 +05:30
Rahul Garg a949060b12 Added HIP_INIT_API to hipDeviceSynchronize()
Change-Id: I9bd6bf206905621b17e1999994b5ea09b7382180
2016-09-01 11:00:30 +05:30
Aditya Atluri 7fdebfb8e3 remove HIP_INIT_API from ihipSynchronize
Change-Id: Ibe0739efe55573c023212d9c28ba847c777e434c
2016-08-29 21:42:22 -05:00
Aditya Atluri cfac62f7e6 Added HIP_INIT_API for all context apis
Change-Id: I3dd8c068236d9572659a58683fdb59d2b9dccaf3
2016-08-29 21:36:34 -05:00
Ben Sander fa9b95838a Refactor trace code for hipLaunchKernel.
- Use standard print functions for streams.
- Add HIP_INIT macro, for cases where we want to initialize HIP but not
  log an API (ihipPreKernelLaunch).

Change-Id: If43cf8a363d918bcd3722a2e6a965d4cfa2e03e7
2016-08-29 18:37:57 -05:00
Ben Sander eb61114739 remove stray printf
Change-Id: Ie64778a83dfe684ffaab3c31bc3d09b713f825b9
2016-08-29 18:36:30 -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 f722a132a4 Added explicit memory copy direction apis
- Fixed stale printf in context api
- Added 4 sync memcpy apis
  1. hipMemcpyHtoD
  2. hipMemcpyDtoH
  3. hipMemcpyDtoD
  4. hipMemcpyHtoH
- Added test for added apis

Change-Id: I4a9c382445b62631f8d0bcbb9a670322288b72b1
2016-08-26 13:11:01 -05:00