• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Best type of PC for simulation

JJH

Joined
12/1/10
Messages
24
Points
11
I'm planning to build a PC for running heavy simulations that would take up days, probably even weeks on my current workstation. Let's say I want to build a computer solely for simulation purposes. Is CPU then the only component that matters? Or does RAM play a part too?
 
Yes, CPU (other than the obvious things, like the no. of cores, pay attention to the cache -- the larger the lower level, the better, and with the processor-memory gap growing it's only becoming more important):
http://arstechnica.com/gadgets/2002/07/caching/
http://www.tomshardware.com/reviews/cache-size-matter,1709.html
http://en.wikibooks.org/wiki/Microprocessor_Design/Cache#Cache_performance

and RAM (if working with non-tiny data -- wouldn't want to start swapping mid-simulation). Note that memories (like RAM) are of a rather diverse quality, and it's not just about size:
http://en.wikipedia.org/wiki/DDR4_SDRAM
http://en.wikipedia.org/wiki/List_of_device_bandwidths#Dynamic_random_access_memory
http://en.wikipedia.org/wiki/Synchronous_dynamic_random_access_memory#Generations_of_SDRAM

If you wish to save the results mid-simulation, you may want to consider SSD, too.

Benchmarks might give you some ideas:
http://www.sisoftware.eu/rank2011d/...f1ccfcdab28fbf99e1dceccaafcaf7c7e192af9f&l=en
http://www.sisoftware.eu/rank2011d/...f3cefed8b08dbd9be3deeec8adc8f5c5e390ad9d&l=en

In general, this may be a helpful tool: http://pcpartpicker.com/

You may want to ask here for a more detailed price-performance optimization: http://www.reddit.com/r/buildapc/

Last but not least, before asking further questions (whether here or elsewhere), read the following:
http://www.reddit.com/r/buildapc/wiki/faq
http://www.reddit.com/r/buildapc/comments/f3efg
 
Thank you for this information!

One clarifying question: the sisoftware tests appear to suggest that graphics cards play a major part in improving simulation speeds, correct? How to take full advantage of this?
 
Regarding the graphic cards improving speeds -- only if your program makes use of GPGPU (which if far from given/automatic (parallelism rarely is) and requires manual (re)writing with this particular goal in mind), and if your application (simulation) is (ideally) data-parallel (for instance, Monte Carlo is, while a single, large loop with a carried dependency isn't).

How to take advantage -- first, make sure the above are satisfied (not all of the applications can benefit from GPGPU). Then, it all depends on the programming language. One I happen to be using for GPGPU is C++, there are particularly many choices in its case: https://www.quantnet.com/threads/monte-carlo-applications.9679/#post-102816

This doesn't mean you can't do it otherwise, it's a rapidly growing field with plenty of new developments; e.g., MathWorks has acquired AccelerEyes some time ago: http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/.
 
Polter
I am planning to tailor my own work station tool, it would be oriented to C/C++ & CUDA on windows & ubunto. Any particular considerations?
 
I worry about the fact that wannabes quants do not know the first thing about parallel programming.

Obviously the first point is that whether your simulation will run quicker or depends on your code! Is it parallel? If so, what parallel environment does it make use of? MPI, OpenMP, GPU? Hybrid?
 
Polter
I am planning to tailor my own work station tool, it would be oriented to C/C++ & CUDA on windows & ubunto. Any particular considerations?

CUDA would imply NVIDIA's GPUs. Are you planning to get into GeForce (GTX) series or Tesla series?
Note that there's a rather significant performance (and pricing) difference for double-precision computations:
http://en.wikipedia.org/wiki/Nvidia_Tesla

If, despite the above, you're still considering GeForce series, then take a look at the following:
Float/FP32: http://www.sisoftware.co.uk/?d=qa&f=gpu_finance_fp32
Double/FP64: http://www.sisoftware.co.uk/?d=qa&f=gpu_finance_fp64
It's worth noting that in terms of bang for the buck, AMD's GCN 7900 series are fantastic in the Double/FP64 category.
That ain't no CUDA, though. // And there are still some other considerations to think of: http://www.msoos.org/2012/01/amds-opencl-heaven-and-hell/

Note: recently, GTX 770 and GTX 780 were released as well:
http://en.wikipedia.org/wiki/GeForce_700_Series
Hwoever, I wouldn't expect them to be of much use if you need double precision:
"For the GeForce GTX 780 the high 64 bit performance has been stripped, effectively making the card a much less capable computing solution while retaining high 3D rendering performance used in video games."
(See also "Double precision" column in the "Processing Power" section of the table in the article).

A more recent comparison:
CUDA: http://www.tomshardware.com/reviews/geforce-gtx-780-performance-review,3516-26.html
OpenCL, float/FP32: http://www.tomshardware.com/reviews/geforce-gtx-780-performance-review,3516-27.html
OpenCL, double/FP64: http://www.tomshardware.com/reviews/geforce-gtx-780-performance-review,3516-28.html

On a side note, weren't you into computer graphics (or am I confusing you with someone else)? If so, single precision is often quite enough.
 
Polter
very valuable information, thanks
I will reconsider some parts of my next PC, looking forward for your advice !
The new Haswell chip does it change the panorama?
 
Polter
very valuable information, thanks
I will reconsider some parts of my next PC, looking forward for your advice !

Sure!
And feel free to ask BuildAPC for feedback once you've chosen your candidate build!

Polter
The new Haswell chip does it change the panorama?

Start here: http://www.reddit.com/r/buildapc/comments/1cgndm/everything_you_need_to_know_about_haswell_so_far/

At the moment, the bang for the buck might not be quite there yet, although it depends on what your needs are:
http://www.reddit.com/r/buildapc/comments/1ft95x/haswell_or_ivy_bridge_for_gaming/
http://www.reddit.com/r/buildapc/comments/1fqago/discussion_haswell_and_viability_at_different/

Although this is business usual in computer hardware -- buying at release date is a cash burn strategy if ever there was one.

That being said, some are already coming up with budget builds based on the lower-priced Core i5 series:
http://www.reddit.com/r/buildapc/comments/1g1uhh/build_complete_budget_atx_haswell_pc/

On a side note, Ivy Bridge-E (Core i7 Extreme Edition, $$$) is coming in Q3 (Sep.?):
http://www.cpu-world.com/news_2013/...idge-E_extreme_CPUs_to_launch_in_Q3_2013.html
http://www.cpu-world.com/news_2013/...ge-E_extreme_CPUs_to_launch_in_September.html

30MB L3 cache looks... interesting (and $$$, too), to say the least:
http://www.guru3d.com/news_story/10_core_xeon_e5_2600_v2_ivy_bridge_ep_processor_info_surfaces.html
...although it's an unconfirmed speculation right now:
http://en.wikipedia.org/wiki/Ivy_Bridge_(microarchitecture)#Ivy_Bridge-E_features

Ivy Bridge-E's more PCIe lanes could be of some use in a multi-GPU scenario (otherwise may be too pricey to warrant immediate interest):
http://www.reddit.com/r/buildapc/comments/1g0flh/build_help_haswell_vs_late_2013_ivybridge_e/
 
Back
Top