Update docs, cleanup

[ROCm/hip commit: 4637e19da4]
Tento commit je obsažen v:
Ben Sander
2016-02-15 05:40:12 -06:00
rodič 9e60e519d4
revize b97e430921
2 změnil soubory, kde provedl 38 přidání a 69 odebrání
+27 -4
Zobrazit soubor
@@ -79,6 +79,7 @@ am_status_t AM_free(void* ptr);
am_status_t AM_copy(void* dst, const void* src, size_t size);
/**
* Return information about tracked pointer.
*
@@ -94,11 +95,23 @@ am_status_t AM_copy(void* dst, const void* src, size_t size);
am_status_t am_memtracker_getinfo(hc::AmPointerInfo *info, const void *ptr);
//TODO-doc
/**
* Adds a pointer to the memory tracker.
*
* @return AM_SUCCESS
* @see am_memtracker_getinfo
*/
am_status_t am_memtracker_add(void* ptr, size_t sizeBytes, hc::accelerator acc, bool isDeviceMem=false);
//TODO-doc
/*
* Updates infor for an existing pointer in the memory tracker.
*
* @returns AM_ERROR_MISC if pointer is not found in tracker.
* @returns AM_SUCCESS if pointer is not found in tracker.
*
* @see am_memtracker_getinfo, am_memtracker_add
*/
am_status_t am_memtracker_update(const void* ptr, int appId, unsigned allocationFlags);
@@ -109,23 +122,33 @@ am_status_t am_memtracker_update(const void* ptr, int appId, unsigned allocation
*
* @returns AM_ERROR_MISC if pointer is not found in tracker.
* @returns AM_SUCCESS if pointer is not found in tracker.
*
* @see am_memtracker_getinfo, am_memtracker_add
*/
am_status_t am_memtracker_remove(void* ptr);
/**
* Remove all memory allocations associated with specified accelerator.
* Remove all memory allocations associated with specified accelerator from the memory tracker.
*
* @returns Number of entries reset.
* @see am_memtracker_getinfo
*/
size_t am_memtracker_reset(hc::accelerator acc);
/**
* Prints info about the memory tracker table.
* Prints the entries in the memory tracker table.
*
* Intended primarily for debug purposes.
* @see am_memtracker_getinfo
**/
void am_memtracker_print();
/**
* Returns total sizes of device, host, and user memory allocated by the application
*
* User memory is registered with am_tracker_add.
**/
void am_memtracker_sizeinfo(hc::accelerator acc, size_t *deviceMemSize, size_t *hostMemSize, size_t *userMemSize);
+11 -65
Zobrazit soubor
@@ -73,12 +73,6 @@ public:
size_t reset (hc::accelerator acc);
private:
// TODO - use or remove.
inline void writeLock();
inline void writeUnlock();
inline void readLock();
inline void readUnlock();
MapTrackerType _tracker;
std::mutex _mutex;
//std::shared_timed_mutex _mut;
@@ -117,20 +111,6 @@ AmPointerTracker::MapTrackerType::iterator AmPointerTracker::find (const void *
}
#if 0
//---
std::ostream & AmPointerTracker::print (std::ostream &os)
{
std::lock_guard<std::mutex> l (_mutex);
for (auto iter = _tracker.begin() ; iter != _tracker.end(); iter++) {
os << " " << iter->first._basePointer << "..." << iter->first._endPointer << ":: ";
os << iter->second << std::endl;
}
return os;
}
#endif
//---
// Remove all tracked locations, and free the associated memory (if the range was originally allocated by AM).
// Returns count of ranges removed.
@@ -158,39 +138,6 @@ size_t AmPointerTracker::reset (hc::accelerator acc)
}
//---
void AmPointerTracker::writeLock ()
{
_mutex.lock();
}
//---
void AmPointerTracker::writeUnlock ()
{
_mutex.unlock();
}
//---
// TODO - support multiple concurrent reader
void AmPointerTracker::readLock ()
{
_mutex.lock();
}
//---
// TODO - support multiple concurrent reader
void AmPointerTracker::readUnlock ()
{
_mutex.unlock();
}
//=========================================================================================================
// Global var defs:
//=========================================================================================================
@@ -289,6 +236,17 @@ am_status_t am_memtracker_getinfo(hc::AmPointerInfo *info, const void *ptr)
}
}
am_status_t am_memtracker_add(void* ptr, size_t sizeBytes, hc::accelerator acc, bool isDeviceMem)
{
if (isDeviceMem) {
g_amPointerTracker.insert(ptr, hc::AmPointerInfo(ptr/*hostPointer*/, ptr /*devicePointer*/, sizeBytes, acc, true/*isDevice*/, false /*isAMManaged*/));
} else {
g_amPointerTracker.insert(ptr, hc::AmPointerInfo(NULL/*hostPointer*/, ptr /*devicePointer*/, sizeBytes, acc, false/*isDevice*/, false /*isAMManaged*/));
}
return AM_SUCCESS;
}
am_status_t am_memtracker_update(const void* ptr, int appId, unsigned allocationFlags)
{
@@ -303,18 +261,6 @@ am_status_t am_memtracker_update(const void* ptr, int appId, unsigned allocation
}
am_status_t am_memtracker_add(void* ptr, size_t sizeBytes, hc::accelerator acc, bool isDeviceMem)
{
if (isDeviceMem) {
g_amPointerTracker.insert(ptr, hc::AmPointerInfo(ptr/*hostPointer*/, ptr /*devicePointer*/, sizeBytes, acc, true/*isDevice*/, false /*isAMManaged*/));
} else {
g_amPointerTracker.insert(ptr, hc::AmPointerInfo(NULL/*hostPointer*/, ptr /*devicePointer*/, sizeBytes, acc, false/*isDevice*/, false /*isAMManaged*/));
}
return AM_SUCCESS;
}
am_status_t am_memtracker_remove(void* ptr)
{
am_status_t status = AM_SUCCESS;