I am a software engineer working at a tech company. There are also some hardware engineers making custom FPGA designs for our products.
For readers non-familiar with FPGA, you can see it as programmable hardware. You write code(as in software) you want the chip to do, but the difference compared to software is that you add timing constraints on electrical signals etc.
Then you run it in the FPGA compiler (here it is mostly 'Altera Quartus II') and the compiler runs a number-crunching algorithm which tries to satisfy the constraints in the FPGA code. Depending on the size of the FPGA design and the available gates in the chip, the time the compilation process takes ranges from minutes to several hours.
Main point regarding FPGA compilation.
- It is a intensive number crunching algorithm (not much floating point I believe)
- Depending on design size, it could also be rather memory intensive, since the OS process could be rather big (several hundred megabyte process size)
- The Altera tool is thread-aware and you can tell it how many cores you want to use for compilation. I am not sure if it scales perfectly though.
I was asked about this and how to make the compilation and turnaround time shorter (a small FPGA change requires essentially recompilation = hrs....)
I figured, maybe I could build a better machine for them, specifially targeted for the above use-case. Currently they are using something midrange.
So I would like to pick your brains how to build something awesome for this specific purpose.
- algorithm intensive
- somewhat memory intensive
- graphics can be ignored. Regular VGA is fine.
- I have OC experience (mainly on AMD, but I believe I am crafty in that sense...)
- High-end, but not top-of-the-line CPU etc
On top of my head, I am thinking
- Intel i7 obviously. 920?
- Tri-channel DDR3 at >=1600MHz
- OC friendly MB.
- Basic graphic card
- Basic case
Thanks in advance for any advice you might have!!
APPROXIMATE PURCHASE DATE: Next couple of weeks. BUDGET RANGE: < $1000
SYSTEM USAGE FROM MOST TO LEAST IMPORTANT: FPGA compilation
PARTS NOT REQUIRED: keyboard, mouse, monitor, speakers, OS, Power-supply, hard drive
PREFERRED WEBSITE(S) FOR PARTS: Anything, newegg is fine.
PARTS PREFERENCES: Brand not important
OVERCLOCKING: Yes, moderate. 100% stability a must SLI OR CROSSFIRE: No