summaryrefslogtreecommitdiffstats
path: root/src/ufo-forwardproject-task.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ufo-forwardproject-task.c')
-rw-r--r--src/ufo-forwardproject-task.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ufo-forwardproject-task.c b/src/ufo-forwardproject-task.c
index 2058614..ac89879 100644
--- a/src/ufo-forwardproject-task.c
+++ b/src/ufo-forwardproject-task.c
@@ -24,6 +24,7 @@
#include <CL/cl.h>
#endif
+#include <stdio.h>
#include "ufo-forwardproject-task.h"
@@ -33,6 +34,7 @@ struct _UfoForwardprojectTaskPrivate {
gfloat axis_pos;
gfloat angle_step;
guint num_projections;
+ size_t out_mem_size;
};
static void ufo_task_interface_init (UfoTaskIface *iface);
@@ -137,6 +139,7 @@ ufo_forwardproject_task_process (UfoTask *task,
in_mem = ufo_buffer_get_device_image (inputs[0], cmd_queue);
out_mem = ufo_buffer_get_device_array (output, cmd_queue);
profiler = ufo_task_node_get_profiler (UFO_TASK_NODE (task));
+ ufo_profiler_enable_tracing(profiler, TRUE);
UFO_RESOURCES_CHECK_CLERR (clSetKernelArg (priv->kernel, 0, sizeof (cl_mem), &in_mem));
UFO_RESOURCES_CHECK_CLERR (clSetKernelArg (priv->kernel, 1, sizeof (cl_mem), &out_mem));
@@ -145,6 +148,11 @@ ufo_forwardproject_task_process (UfoTask *task,
ufo_profiler_call (profiler, cmd_queue, priv->kernel, 2, requisition->dims, NULL);
+ size_t temp_size;
+ clGetMemObjectInfo(out_mem,CL_MEM_SIZE,sizeof(temp_size),&temp_size,NULL);
+ priv->out_mem_size += temp_size;
+ //fprintf(stdout, "Time taken GPU: %f Size: %zu \n", ufo_profiler_elapsed(profiler, UFO_PROFILER_TIMER_GPU), priv->out_mem_size);
+
return TRUE;
}
@@ -268,4 +276,5 @@ ufo_forwardproject_task_init(UfoForwardprojectTask *self)
self->priv->axis_pos = -G_MAXFLOAT;
self->priv->num_projections = 256;
self->priv->angle_step = 0;
+ self->priv->out_mem_size = 0;
}