Monday, May 8, 2017

Re: [Discuss-gnuradio] Major OpenCL Updates

Took your advice on the cmake OpenCL magic and incorporated it.  Let me know how it works for you.  Verified it worked correctly on Ubuntu 16.04 and debian.

On Mon, May 8, 2017 at 6:18 AM, GhostOp14 <ghostop14@gmail.com> wrote:
Looks like the last batch of filter updates missed uploading that file.  It's in the repo now in the lib directory.  If you download it into your lib directory give it another shot. 

And I'll definitely take a look at the header magic in gr-fosphor and see if I can include it.

On Mon, May 8, 2017 at 12:57 AM, Anon Lister <listeranon@gmail.com> wrote:
Ubuntu 16.04. I followed the notes for the nvidia install. Got me past
the incompatible headers. Would be cool to steal the cmake opencl
magic they use in gr-phosfor so it picks up the right includes and
whatnot paths. Anywho, now I get:

home/anon/gr-clenabled/lib/clFilter_impl.h:26:24: fatal error:
fir_filter.h: No such file or directory

I didn't poke around to see if this is auto-generated somehow, but
given the recent commits relating to the topic, is it possible it just
got missed in a commit? It is, indeed, not there:

anon@anon:~/gr-clenabled$ find . -name "fir_filter.h"
anon@anon:~/gr-clenabled$

On Sun, May 7, 2017 at 5:44 PM, GhostOp14 <ghostop14@gmail.com> wrote:
> Hi Anon.  I set it up for 1.2.  The biggest gotcha I've run into in the
> build process is missing the cl.hpp file, but how to get it can vary by OS.
> There's some setup notes in the setup_help directory for debian and Ubuntu
> that may help you out.  What OS are you running it on?
>
> On Sun, May 7, 2017 at 4:35 PM, Anon Lister <listeranon@gmail.com> wrote:
>>
>> Neat. What opencl implementation are you building against?
>>
>> I get errors related to _svm_ parts of code. I.e.
>> cl_device_svm_capabilities was not declared in this scope. Trying to use the
>> Nvidia cuda sdk, just downloaded from their developer site (ver 8.0).
>>
>>
>>
>> On May 6, 2017 8:59 AM, "Ghost Op" <ghostop14@gmail.com> wrote:
>>>
>>> Hi everyone.  A number of you have asked me to keep you informed of
>>> any major updates on the OpenCL gr-clenabled project and the past
>>> couple of weeks have been pretty active.  There's now a version up in
>>> the repo with a significant number of updates and all blocks have been
>>> validated (at least in their basic modes).
>>>
>>> So here's the major updates:
>>>
>>> Validation flowgraphs - Almost all test flowgraphs have been posted in
>>> the examples directory.  You can run the comparisons on your own
>>> hardware for comparison.  This is important on older cards that don't
>>> support double precision (you can check with the included clview
>>> command-line tool).
>>>
>>> Signal Source Block  - A discrepancy in the output was due to an
>>> OpenCL issue.  Turns out single/float precision wasn't producing
>>> accurate enough numbers.  This block now uses double precision if the
>>> hardware supports it (most new hardware will) for an even cleaner
>>> signal than the native block (no secondary nodes).
>>>
>>> Quad Demod - Same single/double trig discrepancy due to precision
>>> which was corrected.
>>>
>>> Filters - A lot of work this week has been spent on filter validation
>>> (hence the few emails about TD vs. FD from yesterday)
>>>      - Both FIR and FFT implementations are now implemented and
>>> producing correct output
>>>      - A generic tap-based block was added for more flexibility
>>>      - A test-clfilter command-line tool was added to test performance
>>> given a number of taps across OpenCL FIR, GNURadio FIR, OpenCL FFT,
>>> and GNURadio FFT so you can pick the best performing filter given your
>>> implementation.
>>>
>>> Costas Loop - A Costas Loop was added, however the performance on a
>>> GPU kernel is horrible.  Because of the sequential calculations, it
>>> couldn't be SIMD parallel processed so it was written as an OpenCL
>>> task-based kernel.  This means it just runs single-threaded on a
>>> single core, which is why the performance is so bad.  However if
>>> anyone has an OpenCL-capable FPGA card like an Altera I'd love to see
>>> the result of running the included test-clenabled timing tool and see
>>> how the Costas Loop performs.  I just don't have access to one.
>>>
>>> Performance - Code was added to detect if the hardware supports Fused
>>> Multiply/Add functionality for added kernel performance.  If it's
>>> available it's used.
>>>
>>> OpenCL Setup Instructions - For those that may not have OpenCL set up,
>>> I added some installation guides in the setup_help directory for
>>> Ubuntu and Debian with step-by-steps on getting it up and running.
>>> I've taken both of those processes on several systems and been up and
>>> running pretty quickly.  I also pulled some of the important points
>>> into the main page's README, since in my experience that's generally
>>> all I look through too.
>>>
>>> Study - Based on the filter updates, the filter section in the study
>>> in the docs directory was completely rewritten.  The report was noted
>>> as updated.
>>>
>>> I think that's the biggest updates for now.  As always let me know if
>>> anyone runs into any issues.
>>>
>>> _______________________________________________
>>> Discuss-gnuradio mailing list
>>> Discuss-gnuradio@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>


No comments:

Post a Comment