Quantcast
Channel: Intel® Many Integrated Core Architecture
Viewing all articles
Browse latest Browse all 1347

About GDDR5 memory channels on Coprocessors and user processes getting killed

$
0
0

Hi all,

Actually, I am asking this more out of cruosity than need.

I am using native mode on Xeon Phi coprocessor card (60 cores). What happens when cores issue too many memory writes? Normally (to my knowledge) they get queued in one of 8 GDDR5 memory channels. Is it possible for them to overflow? And what will happen (if/when) this occurs?

The situation that raised my cruosity;

I was running stl qsort on a single card (in native mode). When the array structure I use gets too big, process was getting killed. I thought, maybe this is a time issue. Then, I implemented a parallel version of this, using hybrid merge & quick sort. Process still gets killed (altough it was much faster). The array I was sorting was globally clustered/sorted but needed local sorts. Thinking my parallel quicksort based implementation would not work efficiently in such a case, I used multiple local quick sort operations. And problem vanished. All I did was reduce the number of swaps therefore memory writes (I think - because I used malloc to allocate the array structure).

I think I am now facing the same thing in different segments in my code. But plan to re-implement efficiently (mostly because I bugs me). But I would like to learn what happens in cases where extreme amount of memory IO operations are queued. Any insight (not necessarily on this specific problem) is appreciated.

Thanks in advance & Thanks for taking the time

Matara Ma Sukoy


Viewing all articles
Browse latest Browse all 1347

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>