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
Esse commit está contido em:
Ben Sander
2016-12-02 23:57:22 +00:00
commit ff2f54c1bf
6 arquivos alterados com 65 adições e 45 exclusões
+4 -6
Ver Arquivo
@@ -45,6 +45,7 @@ extern const int release;
// TODO - this blocks both kernels and memory ops. Perhaps should have separate env var for kernels?
extern int HIP_LAUNCH_BLOCKING;
extern int HIP_API_BLOCKING;
extern int HIP_PRINT_ENV;
extern int HIP_PROFILE_API;
@@ -56,6 +57,8 @@ extern int HIP_STREAM_SIGNALS; /* number of signals to allocate at stream creat
extern int HIP_VISIBLE_DEVICES; /* Contains a comma-separated sequence of GPU identifiers */
extern int HIP_FORCE_P2P_HOST;
extern int HIP_COHERENT_HOST_ALLOC;
//---
// Chicken bits for disabling functionality to work around potential issues:
@@ -156,11 +159,6 @@ extern const char *API_COLOR_END;
#endif
// Compile code that force hipHostMalloc only allocates finegrained system memory.
#ifndef HIP_COHERENT_HOST_ALLOC
#define HIP_COHERENT_HOST_ALLOC 0
#endif
// Compile support for trace markers that are displayed on CodeXL GUI at start/stop of each function boundary.
@@ -455,7 +453,7 @@ public:
//---
// Member functions that begin with locked_ are thread-safe accessors - these acquire / release the critical mutex.
LockedAccessor_StreamCrit_t lockopen_preKernelCommand();
void lockclose_postKernelCommand(hc::accelerator_view *av);
void lockclose_postKernelCommand(const char *kernelName, hc::accelerator_view *av);
void locked_wait(bool assertQueueEmpty=false);