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