From e50c550dd0822644383e98f883587fbc2d4ed70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20L=C3=BCtke=20Dreimann?= Date: Tue, 25 Oct 2022 11:55:26 +0200 Subject: [PATCH 1/5] updated driver and bench info --- repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu | 2 +- repos/hello_gpgpu/src/hello_gpgpu/main.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu b/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu index 113e28173f..5b36126bb5 160000 --- a/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu +++ b/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu @@ -1 +1 @@ -Subproject commit 113e28173fa9d3b0d3a40be3678e2d2c6f495f3e +Subproject commit 5b36126bb567e4b1551ab7cf673ad3b76be1d687 diff --git a/repos/hello_gpgpu/src/hello_gpgpu/main.cc b/repos/hello_gpgpu/src/hello_gpgpu/main.cc index 235bcee4e8..423014521e 100644 --- a/repos/hello_gpgpu/src/hello_gpgpu/main.cc +++ b/repos/hello_gpgpu/src/hello_gpgpu/main.cc @@ -50,7 +50,7 @@ void testvm_construct(Genode::Env &env) Genode::log("===Run bicg==="); ns_bicg::main(0, 0); Genode::log("===Run doitgen==="); - ns_doitgen::main(0, 0); // Number of misses: 2080768 + GPU kernel1 takes very long + ns_doitgen::main(0, 0); Genode::log("===Run gemm==="); ns_gemm::main(0, 0); Genode::log("===Run gemver==="); @@ -70,7 +70,7 @@ void testvm_construct(Genode::Env &env) ns_lu::main(0, 0); // Non-Matching CPU-GPU Outputs Beyond Error Threshold of 0.05 Percent: 516 Genode::log("===Run correlation==="); - ns_correlation::main(0, 0); // Non-Matching CPU-GPU Outputs Beyond Error Threshold of 1.05 Percent: 1 + ns_correlation::main(0, 0); Genode::log("===Run covariance==="); ns_covariance::main(0, 0); From 4bda1a1615e632a7fa1ddd7369726cd24feaed65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20L=C3=BCtke=20Dreimann?= Date: Tue, 25 Oct 2022 11:56:31 +0200 Subject: [PATCH 2/5] removed debug comment --- repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cl | 1 - 1 file changed, 1 deletion(-) diff --git a/repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cl b/repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cl index 1a377952cf..3c239072b9 100644 --- a/repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cl +++ b/repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cl @@ -30,7 +30,6 @@ __kernel void doitgen_kernel1(int nr, int nq, int np, __global DATA_TYPE *A, __g for (int s = 0; s < np; s++) { sum[r * (nq * np) + q * np + p] = sum[r * (nq * np) + q * np + p] + A[r * (nq * np) + q * np + s] * C4[s * np + p]; - //sum[r * (nq * np) + q * np + p] = (float)q; } } } From 3a047cc163fafbca8707169e7ac0908fdd03fa9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20L=C3=BCtke=20Dreimann?= Date: Wed, 2 Nov 2022 11:58:58 +0100 Subject: [PATCH 3/5] use rdtsc for polybench --- repos/hello_gpgpu/src/hello_gpgpu/polybench.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/hello_gpgpu/src/hello_gpgpu/polybench.cc b/repos/hello_gpgpu/src/hello_gpgpu/polybench.cc index 1e8c16350d..88b5c3833a 100644 --- a/repos/hello_gpgpu/src/hello_gpgpu/polybench.cc +++ b/repos/hello_gpgpu/src/hello_gpgpu/polybench.cc @@ -30,6 +30,7 @@ #endif #define POLYBENCH_TIME 1 +#define POLYBENCH_CYCLE_ACCURATE_TIMER int polybench_papi_counters_threadid = POLYBENCH_THREAD_MONITOR; double polybench_program_total_flops = 0; From 3045839ed8fec1d2778535bb510400d16672cf60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20L=C3=BCtke=20Dreimann?= Date: Fri, 4 Nov 2022 17:15:12 +0100 Subject: [PATCH 4/5] opencl wrapper in C --- repos/hello_gpgpu/src/hello_gpgpu/CL/cl.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/hello_gpgpu/src/hello_gpgpu/CL/cl.cc b/repos/hello_gpgpu/src/hello_gpgpu/CL/cl.cc index 4429d55eb1..ae88ee6b59 100644 --- a/repos/hello_gpgpu/src/hello_gpgpu/CL/cl.cc +++ b/repos/hello_gpgpu/src/hello_gpgpu/CL/cl.cc @@ -622,7 +622,7 @@ clCreateProgramWithBinary(cl_context context, return NULL; } - cl_program p = (cl_program)g_cl_genode->alloc(sizeof(_cl_program)); + cl_program p = (cl_program)g_cl_genode->alloc(sizeof(struct _cl_program)); p->binary = (uint8_t*)binaries[0]; p->size = lengths[0]; @@ -1428,7 +1428,7 @@ clEnqueueNDRangeKernel(cl_command_queue command_queue, } // create copy of kernel (vm and driver should not modify the same kernel) - kernel_config* kcopy = new(g_cl_genode->getAlloc()) kernel_config(); + struct kernel_config* kcopy = new(g_cl_genode->getAlloc()) kernel_config(); *kcopy = *kc; // also copy buff configs From 87000c2cf050a0451e660a177c38223a0ead0d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20L=C3=BCtke=20Dreimann?= Date: Fri, 4 Nov 2022 17:19:32 +0100 Subject: [PATCH 5/5] updated gpgpu driver --- repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu b/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu index 5b36126bb5..06c1b3f205 160000 --- a/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu +++ b/repos/dde_uos-intel-gpgpu/src/uos-intel-gpgpu @@ -1 +1 @@ -Subproject commit 5b36126bb567e4b1551ab7cf673ad3b76be1d687 +Subproject commit 06c1b3f205ae5806b21d7a3ae795d723c9e8e46b