Thanks Deke.  That helps a lot.

Steve

On 07/02/14 23:32, Deke Kincaid wrote:
Hi Steve

    I didn't see this before hand so I'm unsure why the example
    compiled ok (linux 64bit), or even where to find this library.  I
    can see no reference to it apart from the Blink docs on Google.
     Any ideas?


This is in the root Nuke folder on Linux/Win and the MacOS folder in osx. So you probably already have your NDKDIR env variable set for compiling so it should find it in there.

    Next, I imported the plugin and tested it.  It seems to work fine
    but I'm trying to get my head around when the blink kernel is
    actually complied?  Is it compiled when the node is initialised?
     Or when the node is viewed?  Once it is complied, will all
    instances of the same node work without compiling?  I don't know
    whether I'm imagining it, but I seem to be getting a slight delay
    the first time I view through a Blink-based tool which is then not
    there in subsequent views or with new instances of the same node.


Last I knew it is JIT compiled when it is first viewed which is why there is a slight slow down just before use and after that it shouldn't need to compile again unless you change it in that session of Nuke you have open. For our other Blink nodes we have them precompiled so you don't have to wait on any of them.

If someone on the HPC team is listening correct me if I am incorrect please.

    Lastly, and I mean to test this anyway, if your GPU isn't
    supported (we have a lot of Quadro FX4800's here) should I expect
    a blink kernel to run the same/slower on the CPU than the same
    process using a PixelOp?  Or has is there still some optimisation
    that means we should see improvements with CPU as well as GPU
    processing?


Yes, it will just run on the cpu if you have the "use gpu if available" unchecked or in the preferences you have "cpu only" turned on. There are optimizations where the cpu in blink nodes are improved, especially with SSE if "Vectorize on CPU" checked.

As it is with GPU and CPU, some operations are faster on one or the other. I think Bruno put it best where his analogy was something along the lines of CPU's are like large elephants moving trees and GPU's are like having a thousands of monkeys(ie related to the number of cores in each). Hopefully I'm not messing my analogies up via Tommy boy style :)


--
Deke Kincaid
Creative Specialist
The Foundry
Skype: dekekincaid
Tel: (310) 399 4555 - Mobile: (310) 883 4313
Web: www.thefoundry.co.uk <http://www.thefoundry.co.uk/>
Email: [email protected] <mailto:[email protected]>


On Thu, Feb 6, 2014 at 7:38 AM, Steve Newbold <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    I was just having a quick look at Blink which I think is an
    absolutely brilliant concept an means all my slow crappy filters
    may get a new lease of life.  A just compiled the example script
    (blinkBlurAndGainExamplePlugin.cpp) and have a few questions about it.

    First of all, the example includes 'blurAndGainExampleKernels.h',
    but the docs mention 'blinkBlurAndGainExampleKernels.h', this is a
    little confusing and I presume these should match one way or the
    other?  Anyway, I sorted this and the plugin compiled with no errors

    Next I saw the following in the docs,

        Building the example plug-in is exactly like building any
        other NDK plug-in, but there is one extra library you need to
        link against. This is libRIPFramework.*, where the ".*"
        represents the dynamic library extension for your operating
        system.


    I didn't see this before hand so I'm unsure why the example
    compiled ok (linux 64bit), or even where to find this library.  I
    can see no reference to it apart from the Blink docs on Google.
     Any ideas?

    Next, I imported the plugin and tested it.  It seems to work fine
    but I'm trying to get my head around when the blink kernel is
    actually complied?  Is it compiled when the node is initialised?
     Or when the node is viewed?  Once it is complied, will all
    instances of the same node work without compiling?  I don't know
    whether I'm imagining it, but I seem to be getting a slight delay
    the first time I view through a Blink-based tool which is then not
    there in subsequent views or with new instances of the same node.

    Lastly, and I mean to test this anyway, if your GPU isn't
    supported (we have a lot of Quadro FX4800's here) should I expect
    a blink kernel to run the same/slower on the CPU than the same
    process using a PixelOp?  Or has is there still some optimisation
    that means we should see improvements with CPU as well as GPU
    processing?

    Sorry, lots of questions...

    Steve
    _______________________________________________
    Nuke-dev mailing list
    [email protected]
    <mailto:[email protected]>,
    http://forums.thefoundry.co.uk/
    http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev




_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

Reply via email to