We get a lot of questions at Vidrio about the best computer for running ScanImage. Of course, the best computer is one that we build and test for you! We’re continuously testing new hardware to see what’s best. As part of that, we decided to perform a few tests with computers built in-house. Before we get to the results, let’s look at what’s important for running ScanImage.
- ScanImage runs in Matlab and Matlab runs in a single thread. ScanImage does not depend upon any Matlab toolboxes.
- There are two other threads that run in parallel. One that transfers data from the digitizer, and another that streams data to disk. Thus, a 4 core processor is sufficient and optimal.
- Since most of the processing occurs in a single thread, the best CPU for the job should have the fastest single-thread performance.
- ScanImage needs fast operating system performance so the computer’s operating system should be housed on an SSD. We are now running Windows 10.
- Fast data storage is required to keep up with certain video streaming loads. This typically translates into a computer streaming to an SSD or a RAID.
- The required storage capacity also needs to be carefully considered so that you have plenty of room to capture big data files on disk.
- Sufficient RAM and since RAM is cheap: use at least 8 GB.
We set out to build a computer with the fastest single thread benchmark score. Fortunately, the people over at cpubenchmark.net make it easy to find out exactly what CPU has the best single thread performance, and the winner is the i7- 4790K 4.0 GHz processor from Intel. This processor is also relatively inexpensive.
ScanImage will run on a variety of standard off the shelf computers but these offerings are not optimized for recording data from 2-photon microscopy experiments. For more demanding tasks, like recording activity in 100-1000s of small regions of interest in a 3D volume (a new feature offered in ScanImage 2015), it is important to have a ScanImage-optimized computer.
To compare builds, we used Matlab’s built-in bench function. The graph above shows the bench score for 7 different computers. Higher scores are better. Note that the computer with the i7- 4790K CPU tops the chart. With the Intel processors there is a general linear relationship between CPU clock rates and benchmark scores (see graph below). Our single AMD based computer performed the worst even though the processor runs at 4 GHz. Also, we noticed that the i7-5930K outperforms the i5-4690K in this test even though the two processors run at 3.5 GHz. This seems to be consistent with the idea that, for Scanimage, the computational throughput in a single thread is most important. The last graph shows the detailed scores from the bench function for each computer (see graph below). Although the i7-4790K has the best overall score, some of the processors are slightly faster in the fast fourier transform test.