Re: GEGL OpenCL Porting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the question Victor. I'm actually running a custom perl script to automate the process. Your question led me to find a bug in the script.

Cheers,
Nanley

On Wed, Nov 19, 2014 at 5:33 PM, Victor Oliveira <victormatheus@xxxxxxxxx> wrote:
Have you tried GEGL_DEBUG=opencl ?

On Wed, Nov 19, 2014 at 2:32 PM, Nanley Chery <nanleychery@xxxxxxxxx> wrote:
> I'm glad we could find this bug. Rolling back to the older version of
> gegl-operation-point-filter.c and adding support for enums in
> gegl-operation.c allows my opencl kernel to run (among other changes). I
> will rebase my repo on top of master once it's updated. The last issue that
> I'm having is that I get no entry for gegl:video-degradation when I have
> instrumentation enabled (GEGL_DEBUG_TIME=1). I've been parsing the output to
> determine the speed of other opencl implementations. Any suggestions?
>
> Thanks,
> Nanley
>
> On Wed, Nov 19, 2014 at 2:26 PM, Nanley Chery <nanleychery@xxxxxxxxx> wrote:
>>
>> It seems like the code to initialize and run the opencl kernel was lost in
>> this commit:
>>
>>
>> https://git.gnome.org/browse/gegl/commit/gegl?id=a206f032f77064cf9bff8590ac83ca5b086b53fd
>>
>> I'm not familiar enough with the codebase to understand the commit
>> message. Why was this functionality removed?
>> Should I add the deleted code into video degradation's process function?
>>
>> Thanks,
>> Nanley
>>
>> On Wed, Nov 19, 2014 at 12:57 AM, Nanley Chery <nanleychery@xxxxxxxxx>
>> wrote:
>>>
>>> I noticed there was more to the brightness-contrast example. I made the
>>> adjustments concerning the kernel name and parameter values.
>>> The code compiles now. The current problem that I'm experiencing is that
>>> the run-composition.py test for video-degradation passes with an empty
>>> kernel.
>>> I'm not sure which code paths are executing to make this work. Any
>>> pointers? I'll do some grepping of the source tree in the meantime.
>>>
>>> Thanks,
>>> Nanley
>>>
>>> On Tue, Nov 18, 2014 at 8:22 PM, Nanley Chery <nanleychery@xxxxxxxxx>
>>> wrote:
>>>>
>>>> Wow. Thank you for the tip, CL_CHECK is now giving me an output.
>>>>
>>>> This is the error message:
>>>> (lt-gegl:10486): GEGL-video-degradation.c-WARNING **: Error in
>>>> video-degradation.c:236@cl_process - invalid kernel
>>>>
>>>> I thought that I had followed the kernel compilation process correctly.
>>>> Do you notice any mistake? I have pushed my latest change to the branch.
>>>>
>>>> Nanley
>>>>
>>>>
>>>>
>>>> On Tue, Nov 18, 2014 at 8:06 PM, Victor Oliveira
>>>> <victormatheus@xxxxxxxxx> wrote:
>>>>>
>>>>> Hi Nanley,
>>>>>
>>>>> I'd recommend you follow operations/common/brightness-contrast.c file
>>>>> for a point-filter operation (i.e. a pixel-wise filter) instead of
>>>>> doing what you did.
>>>>>
>>>>> Notice that in operations/common/brightness-contrast.c#n153 there's a
>>>>> string brightness_contrast_cl_source which is a string in
>>>>> opencl/brightness-contrast.cl.h, these are auto-generated files from
>>>>> the kernels in the opencl folder.
>>>>>
>>>>> Let me know what happens from that.
>>>>>
>>>>> Victor
>>>>>
>>>>> On Tue, Nov 18, 2014 at 4:45 PM, Nanley Chery <nanleychery@xxxxxxxxx>
>>>>> wrote:
>>>>> > Hi Victor,
>>>>> >
>>>>> > Thank you very much for taking a look. I understand about the time.
>>>>> >
>>>>> > Here's the link to my bitbucket branch:
>>>>> > https://bitbucket.org/nanoman281/gegl-cse6230/branch/vid_upstrm
>>>>> >
>>>>> > The latest commit is what's causing the video-degradation.xml test to
>>>>> > fail
>>>>> > (I'm testing using run-compositions.py).
>>>>> >
>>>>> > Nanley
>>>>> >
>>>>> > On Tue, Nov 18, 2014 at 5:11 PM, Victor Oliveira
>>>>> > <victormatheus@xxxxxxxxx>
>>>>> > wrote:
>>>>> >>
>>>>> >> Hi Nanley,
>>>>> >>
>>>>> >> Just to let you know, I'll need some time to answer that because
>>>>> >> I'll
>>>>> >> need to build GIMP on my new laptop.
>>>>> >>
>>>>> >> Can you share your code so I can give a look?
>>>>> >>
>>>>> >> Victor
>>>>> >>
>>>>> >> On Tue, Nov 18, 2014 at 12:49 PM, Nanley Chery
>>>>> >> <nanleychery@xxxxxxxxx>
>>>>> >> wrote:
>>>>> >> > Hi Victor,
>>>>> >> >
>>>>> >> > I'm a student working on OpenCL porting work for my High
>>>>> >> > Performance
>>>>> >> > Computing class. I'm trying to implement an OpenCL port for the
>>>>> >> > newly-committed video-degradation operation. Are you willing to
>>>>> >> > provide
>>>>> >> > guidance on the following roadblock?
>>>>> >> >
>>>>> >> >
>>>>> >> > The issue that I'm finding is that creating a cl_process method
>>>>> >> > and
>>>>> >> > setting
>>>>> >> > the following variables in gegl_op_class_init is not enough to get
>>>>> >> > the
>>>>> >> > cl_process method called:
>>>>> >> >
>>>>> >> > operation_class->opencl_support = TRUE;
>>>>> >> > point_filter_class->cl_process = cl_process;
>>>>> >> >
>>>>> >> > If I manually try to call the cl_process function in the process
>>>>> >> > method
>>>>> >> > (like in edge-laplace.c), the program terminates in the
>>>>> >> > gegl_cl_set_kernel_args method without an error from CL_CHECK;
>>>>> >> >
>>>>> >> > Is there something I'm missing? I apologize for mailing you
>>>>> >> > directly
>>>>> >> > instead
>>>>> >> > of writing to the mailing list. I'm a little pressed for time, so
>>>>> >> > I
>>>>> >> > opted
>>>>> >> > for this option.
>>>>> >> >
>>>>> >> > Regards,
>>>>> >> > Nanley
>>>>> >
>>>>> >
>>>>
>>>>
>>>
>>
>

_______________________________________________
gegl-developer-list mailing list
List address:    gegl-developer-list@xxxxxxxxx
List membership: https://mail.gnome.org/mailman/listinfo/gegl-developer-list


[Index of Archives]     [Yosemite News]     [Yosemite Photos]     [gtk]     [GIMP Users]     [KDE]     [Gimp's Home]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux