Kaydet (Commit) 556f9675 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Add SAL_INFO messages for OpenCL buffers created

Change-Id: Ib226d7ec13bc64ee6d32fab3c3f6cecc4eb8b151
üst 619b13f0
...@@ -170,6 +170,7 @@ size_t VectorRef::Marshal( cl_kernel k, int argno, int, cl_program ) ...@@ -170,6 +170,7 @@ size_t VectorRef::Marshal( cl_kernel k, int argno, int, cl_program )
pHostBuffer, &err); pHostBuffer, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem << " size " << szHostBuffer << " using host buffer " << pHostBuffer);
} }
else else
{ {
...@@ -181,6 +182,8 @@ size_t VectorRef::Marshal( cl_kernel k, int argno, int, cl_program ) ...@@ -181,6 +182,8 @@ size_t VectorRef::Marshal( cl_kernel k, int argno, int, cl_program )
szHostBuffer, NULL, &err); szHostBuffer, NULL, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem << " size " << szHostBuffer);
double* pNanBuffer = (double*)clEnqueueMapBuffer( double* pNanBuffer = (double*)clEnqueueMapBuffer(
kEnv.mpkCmdQueue, mpClmem, CL_TRUE, CL_MAP_WRITE, 0, kEnv.mpkCmdQueue, mpClmem, CL_TRUE, CL_MAP_WRITE, 0,
szHostBuffer, 0, NULL, NULL, &err); szHostBuffer, 0, NULL, NULL, &err);
...@@ -766,6 +769,7 @@ size_t DynamicKernelStringArgument::Marshal( cl_kernel k, int argno, int, cl_pro ...@@ -766,6 +769,7 @@ size_t DynamicKernelStringArgument::Marshal( cl_kernel k, int argno, int, cl_pro
szHostBuffer, NULL, &err); szHostBuffer, NULL, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem << " size " << szHostBuffer);
pHashBuffer = (cl_uint*)clEnqueueMapBuffer( pHashBuffer = (cl_uint*)clEnqueueMapBuffer(
kEnv.mpkCmdQueue, mpClmem, CL_TRUE, CL_MAP_WRITE, 0, kEnv.mpkCmdQueue, mpClmem, CL_TRUE, CL_MAP_WRITE, 0,
...@@ -796,6 +800,7 @@ size_t DynamicKernelStringArgument::Marshal( cl_kernel k, int argno, int, cl_pro ...@@ -796,6 +800,7 @@ size_t DynamicKernelStringArgument::Marshal( cl_kernel k, int argno, int, cl_pro
szHostBuffer, NULL, &err); szHostBuffer, NULL, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem << " size " << szHostBuffer);
pHashBuffer = (cl_uint*)clEnqueueMapBuffer( pHashBuffer = (cl_uint*)clEnqueueMapBuffer(
kEnv.mpkCmdQueue, mpClmem, CL_TRUE, CL_MAP_WRITE, 0, kEnv.mpkCmdQueue, mpClmem, CL_TRUE, CL_MAP_WRITE, 0,
...@@ -1439,11 +1444,15 @@ public: ...@@ -1439,11 +1444,15 @@ public:
(cl_mem_flags)CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR, (cl_mem_flags)CL_MEM_READ_ONLY | CL_MEM_USE_HOST_PTR,
szHostBuffer, szHostBuffer,
pHostBuffer, &err); pHostBuffer, &err);
SAL_INFO("sc.opencl", "Created buffer " << Base::mpClmem << " size " << nInput << "*" << sizeof(double) << "=" << szHostBuffer << " using host buffer " << pHostBuffer);
mpClmem2 = clCreateBuffer(kEnv.mpkContext, mpClmem2 = clCreateBuffer(kEnv.mpkContext,
CL_MEM_READ_WRITE | CL_MEM_ALLOC_HOST_PTR, CL_MEM_READ_WRITE | CL_MEM_ALLOC_HOST_PTR,
sizeof(double) * w, NULL, NULL); sizeof(double) * w, NULL, NULL);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem2 << " size " << sizeof(double) << "*" << w << "=" << (sizeof(double)*w));
// reproduce the reduction function name // reproduce the reduction function name
std::string kernelName; std::string kernelName;
if (!dynamic_cast<OpAverage*>(mpCodeGen.get())) if (!dynamic_cast<OpAverage*>(mpCodeGen.get()))
...@@ -1564,6 +1573,7 @@ public: ...@@ -1564,6 +1573,7 @@ public:
w * sizeof(double) * 2, pAllBuffer.get(), &err); w * sizeof(double) * 2, pAllBuffer.get(), &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem2 << " size " << w << "*" << sizeof(double) << "=" << (w*sizeof(double)) << " copying host buffer " << pAllBuffer.get());
} }
// set kernel arg // set kernel arg
SAL_INFO("sc.opencl", "Kernel " << k << " arg " << argno << ": cl_mem: " << mpClmem2); SAL_INFO("sc.opencl", "Kernel " << k << " arg " << argno << ": cl_mem: " << mpClmem2);
...@@ -2184,6 +2194,7 @@ public: ...@@ -2184,6 +2194,7 @@ public:
sizeof(double) * nVectorWidth, NULL, &err); sizeof(double) * nVectorWidth, NULL, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << pClmem2 << " size " << sizeof(double) << "*" << nVectorWidth << "=" << (sizeof(double)*nVectorWidth));
std::string kernelName = "GeoMean_reduction"; std::string kernelName = "GeoMean_reduction";
cl_kernel redKernel = clCreateKernel(pProgram, kernelName.c_str(), &err); cl_kernel redKernel = clCreateKernel(pProgram, kernelName.c_str(), &err);
...@@ -2254,6 +2265,7 @@ public: ...@@ -2254,6 +2265,7 @@ public:
sizeof(double) * nVectorWidth, NULL, &err); sizeof(double) * nVectorWidth, NULL, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpClmem2 << " size " << sizeof(double) << "*" << nVectorWidth << "=" << (sizeof(double)*nVectorWidth));
std::string kernelName = mvSubArguments[0]->GetName() + "_SumIfs_reduction"; std::string kernelName = mvSubArguments[0]->GetName() + "_SumIfs_reduction";
cl_kernel redKernel = clCreateKernel(pProgram, kernelName.c_str(), &err); cl_kernel redKernel = clCreateKernel(pProgram, kernelName.c_str(), &err);
...@@ -3778,6 +3790,8 @@ void DynamicKernel::Launch( size_t nr ) ...@@ -3778,6 +3790,8 @@ void DynamicKernel::Launch( size_t nr )
nr * sizeof(double), NULL, &err); nr * sizeof(double), NULL, &err);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__); throw OpenCLError(err, __FILE__, __LINE__);
SAL_INFO("sc.opencl", "Created buffer " << mpResClmem << " size " << nr << "*" << sizeof(double) << "=" << (nr*sizeof(double)));
SAL_INFO("sc.opencl", "Kernel " << mpKernel << " arg " << 0 << ": cl_mem: " << mpResClmem); SAL_INFO("sc.opencl", "Kernel " << mpKernel << " arg " << 0 << ": cl_mem: " << mpResClmem);
err = clSetKernelArg(mpKernel, 0, sizeof(cl_mem), (void*)&mpResClmem); err = clSetKernelArg(mpKernel, 0, sizeof(cl_mem), (void*)&mpResClmem);
if (CL_SUCCESS != err) if (CL_SUCCESS != err)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment