Merge branch 'amd-develop' into amd-master
Change-Id: I0e856db61fa4a50e190bd1d4c464ceb4a709b550
This commit is contained in:
@@ -81,7 +81,7 @@ int main(int argc, char *argv[])
|
||||
const unsigned threadsPerBlock = 256;
|
||||
|
||||
printf ("info: launch 'vector_square' kernel\n");
|
||||
hipLaunchKernel(HIP_KERNEL_NAME(vector_square), dim3(blocks), dim3(threadsPerBlock), 0, 0, C_d, A_d, N);
|
||||
hipLaunchKernel(vector_square, dim3(blocks), dim3(threadsPerBlock), 0, 0, C_d, A_d, N);
|
||||
|
||||
printf ("info: copy Device2Host\n");
|
||||
CHECK ( hipMemcpy(C_h, C_d, Nbytes, hipMemcpyDeviceToHost));
|
||||
|
||||
@@ -23,7 +23,7 @@ bool g_printedTiming = false;
|
||||
|
||||
// Cmdline parms:
|
||||
int p_device = 0;
|
||||
const char* p_command = "H2D; NullKernel; D2H";
|
||||
const char* p_command = "setstream(1); H2D; NullKernel; D2H;";
|
||||
const char* p_file = nullptr;
|
||||
unsigned p_verbose = 0x0;
|
||||
unsigned p_db = 0x0;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(10); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; H2D; streamsync;D2H; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(10); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; D2H; streamsync;H2D; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync;endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync;endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(10); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); streamsync; streamsync; endloop(1);
|
||||
loop(10); streamsync; streamsync; endloop(1);
|
||||
loop(100); streamsync; streamsync; endloop(1);
|
||||
loop(100); streamsync; streamsync; endloop(1);
|
||||
loop(1000); streamsync; streamsync; endloop(1);
|
||||
loop(1000); streamsync; streamsync; endloop(1);
|
||||
loop(10000); streamsync; streamsync; endloop(1);
|
||||
loop(10000); streamsync; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H;streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; D2H; streamsync; endloop(1);
|
||||
loop(10); D2H; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D;streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel; streamsync;endloop(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel; streamsync;endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel; streamsync;endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel; streamsync;endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel; streamsync;endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel; streamsync;endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync;endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync;endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; H2D; NullKernel; streamsync;endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D ; NullKernel; streamsync;H2D; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; H2D; streamsync; endloop(1);
|
||||
loop(10); H2D; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(10); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; H2D; streamsync;D2H; H2D; streamsync; D2H; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; NullKernel; streamsync;D2H; NullKernel; streamsync;streamsync; D2H; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; H2D; streamsync;D2H; streamsync; H2D; streamsync; D2H; streamsync; H2D;streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; NullKernel; streamsync;D2H; streamsync; NullKernel; streamsync; D2H; streamsync; NullKernel;streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(10); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; D2H; streamsync;H2D; D2H; streamsync; H2D; D2H; streamsync; endloop(1);
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync;H2D; NullKernel; streamsync;streamsync; H2D; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; D2H; streamsync;H2D; streamsync; D2H; streamsync; H2D; streamsync; D2H;streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync;H2D; streamsync; NullKernel; streamsync; H2D; streamsync; NullKernel;streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(10); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(100); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(100); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(1000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(1000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(10000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(10000); NullKernel; D2H; streamsync;NullKernel; D2H; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(10); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(100); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(100); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(1000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(1000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(10000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
loop(10000); NullKernel; H2D; streamsync;NullKernel; H2D; streamsync; NullKernel; H2D; streamsync;endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync;NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync;NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(10);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(100);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(100);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(1000);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(1000);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(10000);streamsync; streamsync; streamsync; endloop(1);
|
||||
loop(10000);streamsync; streamsync; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H;streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; D2H; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(10); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; D2H; D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; D2H; D2H;streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync;H2D;streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync;H2D;streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync;H2D; streamsync;H2D; streamsync; endloop(1);
|
||||
loop(100); H2D;streamsync; H2D; streamsync;H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D;streamsync; H2D;streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D;streamsync; H2D; streamsync;H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D;streamsync; H2D; streamsync;H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D;streamsync; H2D; streamsync;H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D;streamsync; H2D;streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(10); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; H2D; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; NullKernel; streamsync; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; NullKernel;NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; NullKernel;NullKernel;NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;NullKernel;streamsync; endloop(1);
|
||||
loop(100); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(1000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
loop(10000); NullKernel; NullKernel; NullKernel; NullKernel; NullKernel; NullKernel;streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; H2D; streamsync; endloop(1);
|
||||
loop(10); D2H; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(10); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(100); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(1000); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
loop(10000); D2H; streamsync;NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,2 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; D2H; streamsync; endloop(1);
|
||||
loop(10); H2D; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10);H2D; streamsync; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(10); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10);H2D; NullKernel; D2H; streamsync;endloop(1);
|
||||
loop(10); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D ; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10);H2D; streamsync; NullKernel;streamsync; D2H; streamsync;endloop(1);
|
||||
loop(10); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); H2D; streamsync; NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,10 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(10); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; D2H; streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(100); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(1000); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
loop(10000); NullKernel; streamsync; H2D; streamsync; endloop(1);
|
||||
@@ -0,0 +1,2 @@
|
||||
setstream(1);
|
||||
loop(10);setstream(1);setstream(2);setstream(3);setstream(4);setstream(5);streamsync; endloop(1);
|
||||
@@ -0,0 +1,9 @@
|
||||
setstream(1);
|
||||
loop(10); streamsync; endloop(1);
|
||||
loop(10); streamsync; endloop(1);
|
||||
loop(100); streamsync; endloop(1);
|
||||
loop(100); streamsync; endloop(1);
|
||||
loop(1000); streamsync; endloop(1);
|
||||
loop(1000); streamsync; endloop(1);
|
||||
loop(10000); streamsync; endloop(1);
|
||||
loop(10000); streamsync; endloop(1);
|
||||
@@ -1,34 +0,0 @@
|
||||
HIP_PATH?= $(wildcard /opt/rocm/hip)
|
||||
ifeq (,$(HIP_PATH))
|
||||
HIP_PATH=../../..
|
||||
endif
|
||||
HIPCC=$(HIP_PATH)/bin/hipcc
|
||||
|
||||
HIPCC_FLAGS += -std=c++11
|
||||
HIP_PLATFORM=$(shell $(HIP_PATH)/bin/hipconfig --platform)
|
||||
ifeq (${HIP_PLATFORM}, nvcc)
|
||||
LIBS = -lcublas
|
||||
endif
|
||||
ifeq (${HIP_PLATFORM}, hcc)
|
||||
HCBLAS_ROOT?= $(wildcard /opt/rocm/hcblas)
|
||||
HIPCC_FLAGS += -stdlib=libc++ -I$(HCBLAS_ROOT)/include
|
||||
LIBS = -L$(HCBLAS_ROOT)/lib -lhipblas -rpath $(HIP_PATH)/lib
|
||||
endif
|
||||
|
||||
|
||||
all: saxpy.hipblas.out
|
||||
|
||||
saxpy.cublas.out : saxpy.cublas.cpp
|
||||
nvcc -std=c++11 -I$(CUDA_HOME)/include saxpy.cublas.cpp -o $@ -L$(CUDA_HOME)/lib64 -lcublas
|
||||
|
||||
# $HIPBLAS_ROOT/bin/hipifyblas ./saxpy.cublas.cpp > ./saxpy.hipblas.cpp
|
||||
# Then review & finish port in saxpy.hipblas.cpp
|
||||
|
||||
saxpy.hipblasref.o: saxpy.hipblasref.cpp
|
||||
$(HIPCC) $(HIPCC_FLAGS) -c $< -o $@
|
||||
|
||||
saxpy.hipblas.out: saxpy.hipblasref.o
|
||||
$(HIPCC) $< -o $@ $(LIBS)
|
||||
|
||||
clean:
|
||||
rm -f *.o *.out
|
||||
@@ -1,94 +0,0 @@
|
||||
|
||||
#include <random>
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
|
||||
// header file for the GPU API
|
||||
#include <cuda_runtime.h>
|
||||
#include <cublas_v2.h>
|
||||
|
||||
#define N (1024 * 500)
|
||||
|
||||
#define CHECK(cmd) \
|
||||
{\
|
||||
cudaError_t error = cmd; \
|
||||
if (error != cudaSuccess) { \
|
||||
fprintf(stderr, "error: '%s'(%d) at %s:%d\n", cudaGetErrorString(error), error,__FILE__, __LINE__); \
|
||||
exit(EXIT_FAILURE);\
|
||||
}\
|
||||
}
|
||||
|
||||
#define CHECK_BLAS(cmd) \
|
||||
{\
|
||||
cublasStatus_t error = cmd;\
|
||||
if (error != CUBLAS_STATUS_SUCCESS) { \
|
||||
fprintf(stderr, "error: (%d) at %s:%d\n", error,__FILE__, __LINE__); \
|
||||
exit(EXIT_FAILURE);\
|
||||
}\
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
const float a = 100.0f;
|
||||
float x[N];
|
||||
float y[N], y_cpu_res[N], y_gpu_res[N];
|
||||
|
||||
// initialize the input data
|
||||
std::default_random_engine random_gen;
|
||||
std::uniform_real_distribution<float> distribution(-N, N);
|
||||
std::generate_n(x, N, [&]() { return distribution(random_gen); });
|
||||
std::generate_n(y, N, [&]() { return distribution(random_gen); });
|
||||
std::copy_n(y, N, y_cpu_res);
|
||||
|
||||
// Explicit GPU code:
|
||||
|
||||
size_t Nbytes = N*sizeof(float);
|
||||
float *x_gpu, *y_gpu;
|
||||
|
||||
cublasHandle_t handle;
|
||||
|
||||
cudaDeviceProp props;
|
||||
CHECK(cudaGetDeviceProperties(&props, 0/*deviceID*/));
|
||||
printf ("info: running on device %s\n", props.name);
|
||||
|
||||
printf ("info: allocate host mem (%6.2f MB)\n", 2*Nbytes/1024.0/1024.0);
|
||||
printf ("info: allocate device mem (%6.2f MB)\n", 2*Nbytes/1024.0/1024.0);
|
||||
CHECK(cudaMalloc(&x_gpu, Nbytes));
|
||||
CHECK(cudaMalloc(&y_gpu, Nbytes));
|
||||
|
||||
// Initialize the blas library
|
||||
CHECK_BLAS ( cublasCreate(&handle));
|
||||
|
||||
// copy n elements from a vector in host memory space to a vector in GPU memory space
|
||||
printf ("info: copy Host2Device\n");
|
||||
CHECK_BLAS ( cublasSetVector(N, sizeof(*x), x, 1, x_gpu, 1));
|
||||
CHECK_BLAS ( cublasSetVector(N, sizeof(*y), y, 1, y_gpu, 1));
|
||||
|
||||
printf ("info: launch 'saxpy' kernel\n");
|
||||
CHECK_BLAS ( cublasSaxpy(handle, N, &a, x_gpu, 1, y_gpu, 1));
|
||||
|
||||
cudaDeviceSynchronize();
|
||||
|
||||
printf ("info: copy Device2Host\n");
|
||||
CHECK_BLAS ( cublasGetVector(N, sizeof(*y_gpu_res), y_gpu, 1, y_gpu_res, 1));
|
||||
|
||||
// CPU implementation of saxpy
|
||||
for (int i = 0; i < N; i++) {
|
||||
y_cpu_res[i] = a * x[i] + y[i];
|
||||
}
|
||||
|
||||
// verify the results
|
||||
int errors = 0;
|
||||
for (int i = 0; i < N; i++) {
|
||||
if (fabs(y_cpu_res[i] - y_gpu_res[i]) > fabs(y_cpu_res[i] * 0.0001f))
|
||||
errors++;
|
||||
}
|
||||
std::cout << errors << " errors" << std::endl;
|
||||
|
||||
CHECK( cudaFree(x_gpu));
|
||||
CHECK( cudaFree(y_gpu));
|
||||
CHECK_BLAS( cublasDestroy(handle));
|
||||
|
||||
return errors;
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
|
||||
#include <random>
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
|
||||
// header file for the GPU API
|
||||
#include "hip/hip_runtime.h"
|
||||
#include <hipblas.h>
|
||||
|
||||
#define N (1024 * 500)
|
||||
|
||||
#define CHECK(cmd) \
|
||||
{\
|
||||
hipError_t error = cmd; \
|
||||
if (error != hipSuccess) { \
|
||||
fprintf(stderr, "error: '%s'(%d) at %s:%d\n", hipGetErrorString(error), error,__FILE__, __LINE__); \
|
||||
exit(EXIT_FAILURE);\
|
||||
}\
|
||||
}
|
||||
|
||||
#define CHECK_BLAS(cmd) \
|
||||
{\
|
||||
hipblasStatus_t error = cmd;\
|
||||
if (error != HIPBLAS_STATUS_SUCCESS) { \
|
||||
fprintf(stderr, "error: (%d) at %s:%d\n", error,__FILE__, __LINE__); \
|
||||
exit(EXIT_FAILURE);\
|
||||
}\
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
const float a = 100.0f;
|
||||
float x[N];
|
||||
float y[N], y_cpu_res[N], y_gpu_res[N];
|
||||
|
||||
// initialize the input data
|
||||
std::default_random_engine random_gen;
|
||||
std::uniform_real_distribution<float> distribution(-N, N);
|
||||
std::generate_n(x, N, [&]() { return distribution(random_gen); });
|
||||
std::generate_n(y, N, [&]() { return distribution(random_gen); });
|
||||
std::copy_n(y, N, y_cpu_res);
|
||||
|
||||
// Explicit GPU code:
|
||||
|
||||
size_t Nbytes = N*sizeof(float);
|
||||
float *x_gpu, *y_gpu;
|
||||
|
||||
hipblasHandle_t handle;
|
||||
|
||||
hipDeviceProp_t props;
|
||||
CHECK(hipGetDeviceProperties(&props, 0/*deviceID*/));
|
||||
printf ("info: running on device %s\n", props.name);
|
||||
|
||||
printf ("info: allocate host mem (%6.2f MB)\n", 2*Nbytes/1024.0/1024.0);
|
||||
printf ("info: allocate device mem (%6.2f MB)\n", 2*Nbytes/1024.0/1024.0);
|
||||
CHECK(hipMalloc(&x_gpu, Nbytes));
|
||||
CHECK(hipMalloc(&y_gpu, Nbytes));
|
||||
|
||||
// Initialize the blas library
|
||||
CHECK_BLAS ( hipblasCreate(&handle));
|
||||
|
||||
// copy n elements from a vector in host memory space to a vector in GPU memory space
|
||||
printf ("info: copy Host2Device\n");
|
||||
CHECK_BLAS ( hipblasSetVector(N, sizeof(*x), x, 1, x_gpu, 1));
|
||||
CHECK_BLAS ( hipblasSetVector(N, sizeof(*y), y, 1, y_gpu, 1));
|
||||
|
||||
printf ("info: launch 'saxpy' kernel\n");
|
||||
CHECK_BLAS ( hipblasSaxpy(handle, N, &a, x_gpu, 1, y_gpu, 1));
|
||||
|
||||
hipDeviceSynchronize();
|
||||
|
||||
printf ("info: copy Device2Host\n");
|
||||
CHECK_BLAS ( hipblasGetVector(N, sizeof(*y_gpu_res), y_gpu, 1, y_gpu_res, 1));
|
||||
|
||||
// CPU implementation of saxpy
|
||||
for (int i = 0; i < N; i++) {
|
||||
y_cpu_res[i] = a * x[i] + y[i];
|
||||
}
|
||||
|
||||
// verify the results
|
||||
int errors = 0;
|
||||
for (int i = 0; i < N; i++) {
|
||||
if (fabs(y_cpu_res[i] - y_gpu_res[i]) > fabs(y_cpu_res[i] * 0.0001f))
|
||||
errors++;
|
||||
}
|
||||
std::cout << errors << " errors" << std::endl;
|
||||
|
||||
CHECK( hipFree(x_gpu));
|
||||
CHECK( hipFree(y_gpu));
|
||||
CHECK_BLAS( hipblasDestroy(handle));
|
||||
|
||||
return errors;
|
||||
}
|
||||
Reference in New Issue
Block a user