Choosing a CPU to speed up computations on single neurons.

Anything that doesn't fit elsewhere.
Post Reply
edcohen
Posts: 4
Joined: Mon May 13, 2013 8:37 pm

Choosing a CPU to speed up computations on single neurons.

Post by edcohen »

What sort of computer will most benefit my speed needs for Neuron computations?

I work in a govt environment where computer choice is very limited.

My NEURON simulations usually just involve one reconstructed cell with modified H-H channels, and I am looking at spiking patterns for about 200msec.

What sort of computer will most increase my speed needs for Neuron computations?
I presume I do not need a GPGPU, or an i7 since most of the code is probably not parallelized.

Should I choice a CPU that has the fastest single core computation? A mulitcore i7, and lots or memory of course.

What will boost my computation speed for a single cell? A simulation takes about 20min a simulation on a Core 2 duo.

If we look at single core computation speed, a top of the line i7 Hauswirth is only about 2.5X faster than the Core 2 duo.
http://www.cpubenchmark.net/singleThread.html

A NAND hard drive?

Advice?
ted
Site Admin
Posts: 6299
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Choosing a CPU to speed up computations on single neuron

Post by ted »

edcohen wrote:I work in a govt environment where computer choice is very limited.
No Macs for you, I presume.

Here's what I recommend if you're stuck in the PC domain:

CPU: Intel i7. 4 core Gen 4 e.g. 4790 is adequate but "so last decade," 6 core Gen 5 e.g. 5820 or 5930 is more "current," and 2 CPUs is better than 1 (the more cores, the better when it comes time to optimize or explore parameter space; also you're likely to get more cache, and will be better able to take advantage of multthreaded execution).
Some mfrs offer a range of CPU speeds, e.g. 3.8, 3.9, 4.0 GHz, but for a given chip architecture the price/payoff ratio generally does not favor the faster clock rates--you're just not going to notice a 10-15% difference in CPU clock rate so don't pay for extra unless the % speed increase is larger than the % increase in total cost of the entire PC with all other options. Number of cores, hard drive capacity and speed, and performance of the
graphics card are far more important to overall performance.

Graphics card: a decent one would have at least 4 GB memory; you'll need that for visualization of results (not just looking yourself but producing still images and movies that illustrate your results) and for getting the most out of online neuroinformatics resources like ModelDB. NVIDIA is good, others tend to be wannabes.

Hard drive: 2 TB SATA.
SSD: pricey and not all that reliable, so would stay away from SSDs unless you're doing stuff that is hard-drive I/O limited like running a big database.
edcohen
Posts: 4
Joined: Mon May 13, 2013 8:37 pm

Re: Choosing a CPU to speed up computations on single neuron

Post by edcohen »

OK, recall I said I was simulating a single cell.

"CPU: Intel i7. 4 core Gen 4 e.g. 4790 is adequate but "so last decade," 6 core Gen 5 e.g. 5820 or 5930 is more "current," and 2 CPUs is better than 1 (the more cores, the better when it comes time to optimize or explore parameter space; also you're likely to get more cache, and will be better able to take advantage of multthreaded execution)."

So how well multi thread optimized is NEURON doing single cell H-H type simulations?
Would an Intel® Quad Core™ i7-8x01 1333MHz 8T \ 4 Core™ \ 8M \ 95W \ Turbo LGA 1156 work? Too Slow? I have a couple of these i could install it on. Intel i7 vPro.
https://www.lenovo.com/shop/americas/co ... 0final.pdf

I still am not clear now much these extra cores are really being used, or would it be better to go something like a Pentium G which might give you the most bang for the buck.
Intel Pentium G3258 @ 3.20GHz a lot of people like this Hausworth model and it overclocks a lot.
Dual core, loved on the Egg, and overclocked to 4MHz or more.

Time is money.
ted
Site Admin
Posts: 6299
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Choosing a CPU to speed up computations on single neuron

Post by ted »

Extended theoretical discussions of the relative merits of this or that are diverting but certain facts do apply.
1. Fast today is slow tomorrow. I have yet to meet anyone with a long term commitment to scientific computing who complains that the machine they bought 2 years ago turned out to be way more powerful than they needed.
2. Serious modeling projects may start small, but tend to become larger, especally as model complexity increases, or the need to tune parameters or explore parameter space arises.

With regard to NEURON's capabilities:
1. Simulations that use MPI parallelization (either bulletin-board style execution for embarassingly parallel problems, or large models that are distributed over multiple processors) display excellent strong and weak scaling as long as load balance is good and there is enough work to keep each processor busy. Achievability of good load balance depends on the nature of the problem, not on NEURON or MPI. If it is in principle achievable, then accomplishing it depends on the model setup strategy used by the person who implements the model. Plenty of examples of efficient, successful implementations exist. The only drawback of MPI parallelization is that it requires some modification of model source code.
2. Thread parallel simulations are more convenient because they require no modification of user-written source code, but they are inherently limited with regard to scaling, i.e. throwing more processors at a problem tends to produce smaller payoff as the number N of processors increases. However, if the performance boost is adequate for the problem at hand, it is not necessary to revise the model's source code. The N at which performace levels off tends to increase with model complexity, but it takes a pretty complex cell to benefit from more than 4 or 6 cores. That said, suppose you have a single quad core CPU and need to run 1000 simulations with different parameters, where each simulation would benefit by running multithreaded on those 4 cores. Well, you're going to have to run those simulations one at a time. If your PC had two quad core CPUs, you could combine bulletin-board style execution and mutithreaded execution, keeping both CPUs completely busy (each would run ~500 simulations), and finishing the entire task in half the time.

I have no more general wisdom to impart on this topic.
edcohen
Posts: 4
Joined: Mon May 13, 2013 8:37 pm

Re: Choosing a CPU to speed up computations on single neuron

Post by edcohen »

OK Ted, Here is my NEURON simulation speed CPU report from

2.13 GHz Intel 2 Core Duo 8GB ram, WIN XP 32 bit.

2.9 GHz Quad Core Intel Vpro 8Gb ram, WIN7 64bit.

50 msec simulation at 0.0005 msec time step.

Core 2 Duo =131 338 sec. =5.6 min.
Quad Core i7= 131sec. = 2.2 min.

So about a 2.6 fold speed up.

Maybe I could double the speed on the latest i7 Haswells/Extreme or overclocked dual Pentium M's.
Post Reply