POV-Ray : Newsgroups : povray.programming : Acceleration through FPGA Server Time
17 May 2024 06:50:43 EDT (-0400)
  Acceleration through FPGA (Message 1 to 3 of 3)  
From: Brannon
Subject: Acceleration through FPGA
Date: 29 Mar 2005 02:05:01
Message: <web.4248fe0215723b869c9df08e0@news.povray.org>
I am considering writing a some code to accellerate POVRay by use of FPGA
hardware. I have access to a variety of FPGA systems (and some saweeet
buses). What would be beautiful to me is if there was just one function
that looked like this:

byte* UseLotsOfProcessor(byte* bigchunk1, bigchunk2, other params....){
   do lost of math in not too many lines of code
   return a big piece of data
}

Then I could just write my own copy of that function that executed in
hardware. Somehow I don't think it is that easy. How do the SMP utilities
do such things? Is there a subset of functions they overload? Where would I
find this list?

Thanks for your time,
Brannon


Post a reply to this message

From: Ryan Lamansky
Subject: Re: Acceleration through FPGA
Date: 29 Mar 2005 14:22:22
Message: <4249aaee$1@news.povray.org>
POV-Ray is mostly made up of medium-sized, math-intensive functions that 
(individually) operate on relatively small sets of data.

Some of the image and resource parsing functions may qualify for the 
optimization you wish to perform, but this is unlikely to have much 
effect on the trace time of a typical scene.

-Ryan


Post a reply to this message

From: Peter Duthie
Subject: Re: Acceleration through FPGA
Date: 29 Mar 2005 19:20:37
Message: <4249f0d5@news.povray.org>
Your best bet is probably to run a profiler on povray on a number of 
different scenes and see where the performance bottlenecks are.  Gprof 
or oprofile would probably suit your needs (assuming Linux).  Once you 
know where most of the CPU time is being spent, then you'll know where 
to start.

I suspect that this will vary greatly from scene to scene, some scenes 
will spend a lot of time processing textures, some will spend a lot of 
time resolving mathematical functions (especially those with 
isosurfaces), some will spend a lot of time tracing objects.  I suspect 
that this will involve a lot more effort than you imagine, so it would 
be worthwhile getting very familiar with the source code before you 
consider hardware accelerating it.

Peter D.

Brannon wrote:
> I am considering writing a some code to accellerate POVRay by use of FPGA
> hardware. I have access to a variety of FPGA systems (and some saweeet
> buses). What would be beautiful to me is if there was just one function
> that looked like this:
> 
> byte* UseLotsOfProcessor(byte* bigchunk1, bigchunk2, other params....){
>    do lost of math in not too many lines of code
>    return a big piece of data
> }
> 
> Then I could just write my own copy of that function that executed in
> hardware. Somehow I don't think it is that easy. How do the SMP utilities
> do such things? Is there a subset of functions they overload? Where would I
> find this list?
> 
> Thanks for your time,
> Brannon
> 
>


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.