Usenet.com

www.Usenet.com

Group Index

Comp Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Re: graphic card accelarator vs. FPGA: which is better for the following task?



Hi!

> I guess this is a ray-tracing problem... But I need to do this task in as
> high as possible speed/throughput. Here is my problem:
>
> Suppose I am given 25 rays and I am given a 3D cube and all parameters of
> these rays and cube are given...
>
> I need to compute the length of the intersecting segment of the rays with
> this cube as fast as possible. If some rays completely fall outside of the
> cube, then it outputs 0, otherwise gives the length.

- Are the vertices of the cube parallel to the coordinate axles?
- Is the anything special about the cube (size, orientation, rotation,
location, etc.)?
- In what format are the rays and the cube defined?

> I heard there are some very good graphic card with accelerator... and I
> heard about the bus bandwidth to be as high as 500MHz... I am not sure if
> they have good accelaration function for doing my task?

Possibly no. First, you would have to get data *back* from the accelerator
which is something they are not designed for. As someone said to me once,
they operate in a 'write and forget' mode. Second, none of the accelerators
I know of do ray-tracing. However your question is not a complete ray-trace
problem, so you might be able to tweak the functions of an accelerator to
give you your answer.

> I also think of doing this using an FPGA which is hooked onto a Intel PC
> with Linux... I don't know the details, but I guess it uses PCI or other
bus
> to interact with the CPU and serve as an coprocessor...

That's a possiblity. You can find PCI FPGA prototyping cards for this
purpose.


BTW, if you need to process 1GB of data (assume that's the total amount of
traffic) you would need at least at least 7.75 seconds just to transfer the
data over a 33MHz PCI bus, not counting other PCI traffic, and other issues.
If that's too slow, you would need a) 66MHz b) 64bit c) PIX-X bus and of
course a PC that supports these.

> I want to know which method is better?

Depends on many things:
- Speed requirement (as fast as possible is not enough)
- Numerical Precision
- Price concerns
- Project deadlines
- More precise description of the problem (see above)

> Considering that after solving this throughput problem, the next
bottleneck
> will be a 1GB memory that I need... I wonder if the graphic card has 1GB
> cache/memory inside it?

None I've heard of.

> Since a lot time it needs to do triple-buffling, I
> guess... it should have a high speed huge memory, right?

Huge means 128-256MB nowadays.

> I also don't know what is the maximum processing speed of a high-end
> graphical card comparing with a high end FPGA implementation?

Impossible to answer in general.

> Can anybody give me some comments/suggestions/advice/hints/pointers on
this?

What I would suggest is to write a SW only solution for your problem. That
would give you, or anyone else a pretty good definition of the problem.
After this, you probably will be able to state much better questions.

Regards,
Andras Tantos





<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.