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

13 Коммитов

Автор SHA1 Сообщение Дата
Maneesh Gupta e920ead561 Use cpu agent when using staging buffer
Change-Id: I195a8137e86f2752681d6ba4dc7ba1b6f654e264
2016-06-06 12:42:44 +05:30
Ben Sander e020d68309 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.
2016-04-18 20:49:33 -05:00
Ben Sander 65abde6626 Move HIP_HCC define to CMake 2016-04-17 07:40:04 -05:00
Ben Sander dcabc9dbf7 P2P Update.
- add P2P staging buffer copy.
- If copy device does not have sufficient access permissions, fall back
  to staging buffer.
- improve docs for which copy device is used.
2016-04-16 10:18:56 -05:00
Ben Sander 56c801f9e4 use hsa_free directly for staging buffer free rather than am_free 2016-04-07 15:54:28 -05:00
Aditya Atluri c5ec73736d added CR and hipsetdeviceflags func 2016-03-24 07:04:01 -05:00
Aditya Atluri 5637bde4b3 reverted back to old infra with cmake added 2016-03-23 11:13:02 -05:00
Aditya Atluri 89bfc0e375 WIP added modular feature for device apis 2016-03-23 07:54:01 -05:00
Ben Sander 6472c8b915 Fix copy and sync bugs. Remove extra sync in default stream.
- NULL stream was waiting for itself to be empty before each command.
- Force "blocking" streams to wait for NULL to empty.  This was missing
  before.
- async copy was disabling itself via trueAsync=false for common cases.

Refactor:
- rename _null_stream to _default_stream.
- move some null sync function to defaultSync, move to dev member func.
2016-03-19 02:44:26 -05:00
Ben Sander 0af4d3623f Refactor copy code.
-Move staging buffer locks inside the staging buffer code.
-Remove dedicated per-device completion_signal + per-device lock -
instead allocated signal from the per-stream pool.   This elimintes
the lock and allows more concurrency.
-remove switch HIP_DISABLE_BIDIR_MEMCPY
2016-03-18 03:02:00 -05:00
Ben Sander 7d500599fa Refactor staging buffer and sync copies.
- refactor staging buffer to operate on hsa* data structures not
  hc::accelerator.
- use hsa_memory_allocate to allocate staging buffers rather than
  am_alloc.
- Refactor device reset with single member function.  Don't reallocate
  staging buffers on reset.
- Properly track dependencies based on command type.  Add new deps for
  H2D and D2D rather than overloading H2D.
2016-03-17 20:09:10 -05:00
Ben Sander e7586adb33 Refactor to isolate staging buffer code. 2016-03-17 00:20:56 -05:00
Ben Sander 28ee7aff71 Start separaration of staging_buffer.cpp code.
Still #include staging_buffer.cpp into hip_hcc.cpp.
Directed tests compile hip_hcc to static library and use the library.
2016-03-16 22:26:49 -05:00