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

23 Коммитов

Автор SHA1 Сообщение Дата
Maneesh Gupta b160ff52fc Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c


[ROCm/hip commit: 7022986ab2]
2016-07-21 12:29:56 +05:30
Ben Sander 388fcd8003 Clean up old work-week and USE_* refs
Change-Id: I929c979fa085f8e5205194cbccca46e9b5516aa9


[ROCm/hip commit: 5c9e286ddc]
2016-06-17 15:18:57 -05:00
Ben Sander 0268c1e4e6 NVCC improvements.
- Complete translation tables for cudaError <-> hipError_t.
- Remove some odd errors that were not correctly translated or not used.
- Add HIPCHECK_API to test infrastructure.  Used for negative testing
  an API ; if a mismatch occurs it shows the expected return error
  code.  Can also print a warning rather than error.
- Enable hipMemoryAllocate on NV system, and review error coded.
- Add hipErrorName to nvcc.

Change-Id: I680427dcf32a5796d5913cf9e7f3b4c6f6b91599

Conflicts:
	tests/src/CMakeLists.txt

Bug fixes and improved docs for hipFree and hipHostFree.

    - Passing NULL pointer initialized runtime and return hipSuccess
      (not an error like before).
    - add negative test for this. (hipMemoryAllocate, improved)
    - Match NVCC errors for invalid pointers, add to test.
    - Update hipFree and hipHostFree docs.
    - hipGetDevicePointer always set *devicePointer=NULL, even for
      invalid flags.
    - Gate shared memory usage on specific HCC work-week.

Change-Id: I533b4fd3280a3d6cdbf05eb768976f0c7506c012


[ROCm/hip commit: 2ab19ca505]
2016-06-16 06:13:51 +05:30
Ben Sander ef89f7119d Merge branch 'privatestaging' into p2p
[ROCm/hip commit: d30ad55160]
2016-05-02 11:10:10 -05:00
Aditya Atluri ca5ca85645 fixed hipmemset to use native ihip api
[ROCm/hip commit: a730d60930]
2016-04-25 11:05:30 -05:00
Ben Sander bd8388bfc3 Add USE_HCC_LOCK_API.
Default off, if set will compile assuming HCC lock APIs exist.


[ROCm/hip commit: 3bcefdaa2d]
2016-04-18 23:50:52 -05:00
Ben Sander 32f9d67741 Fixes for P2P and hipDeviceReset
- devicereset would lose track of default stream and thus subsequent
  synchronization calls might not actually sychronize.
- Also deviceReset now correctly frees streams.
- fix waits in P2P staging copy - first phase (Device0-to-Staging) must
  wait for second phase (Staging to Device1) to finish draining the
  buffer.


[ROCm/hip commit: e020d68309]
2016-04-18 20:49:33 -05:00
Aditya Atluri 6cd86531b3 Corrected Memcpydefault
[ROCm/hip commit: 8dc1bdcbe6]
2016-04-16 17:10:13 -05:00
Aditya Atluri c53211e700 improved error returns for hipHostRegister/UnRegister functions
[ROCm/hip commit: 2e80de6dcb]
2016-04-15 10:42:31 -05:00
Aditya Atluri 4dd3424b15 added more features to hipHostRegister
[ROCm/hip commit: 8a43f18333]
2016-04-15 10:32:01 -05:00
Aditya Atluri 12cb3de301 added hipHostRegister/UnRegister api
[ROCm/hip commit: fa7a3822f6]
2016-04-15 10:08:10 -05:00
Ben Sander b174e8bba7 Clean up disable.
Add USE_HCC_LOCK (disabled)
Disable USE_PEER_TO_PEER.


[ROCm/hip commit: b0529e04f1]
2016-04-11 09:09:36 -05:00
Ben Sander c964e3c75a P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.


[ROCm/hip commit: 83f0de7806]
2016-04-11 07:58:59 -05:00
Ben Sander 80e2e37c51 Remove stray debug msgs, hipInfo don't print self as peer.
[ROCm/hip commit: d89539d40f]
2016-04-11 07:58:58 -05:00
Ben Sander 69a9feb1fb fix bugs in P2P implementation
- addPeers polarity reversed, would never add.
- check allow_access return value, pipe error to hipMalloc.


[ROCm/hip commit: fb31eaf07b]
2016-04-11 07:58:58 -05:00
Ben Sander 06e2dbd128 For P2P, use the peer list when allocating Device memory or pinned host.
Each new allocation is automatically mapped into the address space of
all enabled peers.


[ROCm/hip commit: 813b063888]
2016-04-11 07:58:58 -05:00
Aditya Atluri ed3013cb6e added hipHostRegister support no multi-gpu
[ROCm/hip commit: 07d570468e]
2016-04-11 10:28:16 -05:00
Ben Sander 630ef59d7b Tweak thread-safe implementation.
introduce LockedAccessor option so destructor does not unlock.
Allows locks to exist across function boundaries, required
for hipLaunchKernel macro which has several unusual requirements.
(including C comppatibility, must use variadic macro, more).


[ROCm/hip commit: 8635863724]
2016-03-28 21:41:47 -05:00
Ben Sander 9e3ac64c54 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.


[ROCm/hip commit: 3f18bab2c7]
2016-03-28 09:46:40 -05:00
Ben Sander 141ccad414 Make ihipDevice_t thread-safe.
Move critical data into separate class and protect with LockAccessor
wrapper class.

For device, the streams list is the critical data since it is modified when
streams are created or destroyed.   The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so

All functions which acquire the LockAccessor now named with "locked_" prefix.


[ROCm/hip commit: 530ab9434a]
2016-03-26 10:46:20 -05:00
Aditya Atluri 6aa83a8a32 added CR and hipsetdeviceflags func
[ROCm/hip commit: c5ec73736d]
2016-03-24 07:04:01 -05:00
Aditya Atluri 702672c3df Split files based on functionality and changed cmake file
[ROCm/hip commit: 794007c3e8]
2016-03-24 04:57:30 -05:00
Ben Sander edec342c20 Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp


[ROCm/hip commit: 655534b1ba]
2016-03-24 09:28:54 -05:00