[Insight-users] FW: Question about using OpenCL shared buffer for more than one kernel

Joachim Weber joachim.weber at stud.hs-regensburg.de
Wed Feb 20 08:42:45 EST 2013


Thanks for that fast answer.

1. I've already implemented my own version of an Gaussian Filter, according to FSL-Fast.
2. I've looked into itkGPUDataManager. How is that done? Is it necessary to set a certain OpenCL flag for this?
Normally it is recommended, just to create an cl_mem object and to set certain flags for that.
I don't find any information, how to do this. It looks like, if I set up the GPUDataManger for each GPUImage right,
I can achieve exactly that, what I want to. But I am not sure...

Regards
Weber Joachim
________________________________________
From: Denis Shamonin [dshamoni at gmail.com]
Sent: Wednesday, February 20, 2013 10:00 AM
To: Joachim Weber
Cc: insight-users at itk.org
Subject: Re: [Insight-users] Question about using OpenCL shared buffer for more than one kernel

Dear Weber,

1. I've implemented the Gaussian Filter
    itkGPURecursiveGaussianImageFilter and itkGPUSmoothingRecursiveGaussianImageFilter
    in my paper http://hdl.handle.net/10380/3393 have a look to the article.
2. Yes, the memory could be copied only once from CPU->GPU and used by the multiple kernels via pointers, use itkGPUDataManager for that.

Regards,

-Denis Shamonin, MSc
Division of Image Processing (LKEB)
Department of Radiology
Leiden University Medical Center

On Wed, Feb 20, 2013 at 12:02 AM, Joachim Weber <joachim.weber at stud.hs-regensburg.de<mailto:joachim.weber at stud.hs-regensburg.de>> wrote:
Hi,
i want to write a Gaussian Filter with ITK-GPU. I have a 3D image, which has to be filtered in all 3 directions(first Z, then X and then Y).
Because ITK encapsulates the whole OpenCL functionality inside its on methods and classes, I find it very hard to define memory objects for multiple kernels.
It don't want to copy the image between Host and Device the whole time, which would result in a heavy performance drawback.
Is there a simple way to define OpenCL memory objects, which can be used by multiple kernels?
I am not to much into ITK GPU, but it looks like, defining memory buffers for multiple kernels(which stay on Device) is not possible right now.
Or do all kernels run in the same context?


Many thanks in advance,
Weber Joachim
_____________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users



More information about the Insight-users mailing list