OK, so it's not exactly FPGAs but we use Java a great deal for writing systems including financial models. Now many people believe that Java floating point performance still lags C++ significantly but in reality it's pretty close. Given the significant productivity differences, in general you might as well use Java, especially if the maths is not matrix based. If it is matrix based, Java's lack of support for the modern processor instruction fused multiply acc/accumulate (ie do both a multiply and an add at the same time -- added to processors specifically for matrix math since it is such an important operation), can mean a 50% drop in performance compared to an optimised C++ / C99 version.
I've been harping on about this for years (for background see here and here), but I've just noticed a Java fmac bug report that you can vote on (and a related Java maths bug report). So why not dust off that Sun Developer (or JDC or whatever) login and go vote for something that could make a huge difference to Java adoption in the numerical finance world.
Showing posts with label CPU. Show all posts
Showing posts with label CPU. Show all posts
22 Jul 2007
5 Mar 2007
The CPU is getting lonely..
So it seems that the recent fashion for the CPU-knows-best is generally being re-thought; it's the return of the co-processor. While it makes sense, and at ngGrid we think it's compelling when using FPGAs in their sweet-spot, much of the coverage is somewhat lacking in depth.
In general the co-processors they speak of are GPUs (or possibly physics engines for games) but very little is mentioned of FPGAs, DSPs and the myriad of non-AMD/Intel/x86 hardware. In addition, while dropping another type of processor in a spare socket can give you a serious performance boost, I think this design shift could run into a while new architecture style. I don't think things are going to go all the way back to transputer's sea of processing elements (I think the granularity will still be quite chunky) it may finally bring some competition to the PC architecture. The PC standard is a huge hindrance to high performance computing in terms of hardware technology -- a cost which delivers amazingly cheap machines however.
Delivering the ability to innovate in architecture while remaining compatible with standard tools / binaries will be the key challenge going forward, in my opinion. Just dropping a single FPGA/GPU in a socket is not enough, you'll still want the local RAM (and lots of it) and associated IO in order to really jump ahead of homogeneous CPU architectures.
Another part of the equation missing, is real world experience and examples. While DRC and XtremeData have socket based FPGAs available today, I haven't seen much coverage of the benefits versus sitting on a PCI-foo bus. Of course, the lack of public FPGA successes in general is another matter altogether...
In general the co-processors they speak of are GPUs (or possibly physics engines for games) but very little is mentioned of FPGAs, DSPs and the myriad of non-AMD/Intel/x86 hardware. In addition, while dropping another type of processor in a spare socket can give you a serious performance boost, I think this design shift could run into a while new architecture style. I don't think things are going to go all the way back to transputer's sea of processing elements (I think the granularity will still be quite chunky) it may finally bring some competition to the PC architecture. The PC standard is a huge hindrance to high performance computing in terms of hardware technology -- a cost which delivers amazingly cheap machines however.
Delivering the ability to innovate in architecture while remaining compatible with standard tools / binaries will be the key challenge going forward, in my opinion. Just dropping a single FPGA/GPU in a socket is not enough, you'll still want the local RAM (and lots of it) and associated IO in order to really jump ahead of homogeneous CPU architectures.
Another part of the equation missing, is real world experience and examples. While DRC and XtremeData have socket based FPGAs available today, I haven't seen much coverage of the benefits versus sitting on a PCI-foo bus. Of course, the lack of public FPGA successes in general is another matter altogether...
Subscribe to:
Posts (Atom)