Add kernelVerify for data verification and memory
reading performance checking in kernel.
Change-Id: Id3f9bcad75d643f493daf9d5f47b3a012a427179
[ROCm/hip commit: 9ba66fc157]
On Windows there's something fundamentally broken about redirecting IO
into a file and then restoring that said IO to it's original state. Even
though no syscalls would fail, the output would sometimes either go into
CLI or straight up nowhere.
Simply using pipes instead of a temporary file magically resolves the
above issue ¯\_(ツ)_/¯
Unfortunately the max pipe size on Linux is 1Mb, which is not enough to
store all the data printed by the kernel. This leads to a softhang in
vprintf().
Stick to using a temporary file on Linux, but switch to pipes on
Windows. Slightly refactor the CaptureStream struct to accomadate this
difference.
Change-Id: Id8e68f150df47815a4f652ee2bcd6cfb7c3e3bac
[ROCm/hip commit: 223dddae6d]
Tests that check POSIX specifiers with a single thread:
- hipPrintfSpecifiers.cpp : all conversion specifiers
- hipPrintfFlags.cpp : common flags that modify conversions
- hipPrintfAltForms.cpp : alternate forms ('#')
- hipPrintfStar.cpp : additional arguments ('*')
- hipPrintfWidthPrecision.cpp : floating point details
Tests that check functionality on top of hostcall
- hipPrintfBasic.cpp : divergent calls, series of calls, return value, etc
- hipPrintfManyWaves.cpp : many waves printing together
- hipPrintfManyDevices.cpp : many waves on many devices
Change-Id: I35e069f4c542f896999239996dc89eda0faad7b8
[ROCm/hip commit: db3e17d552]