SPM requirements in terms or hardware are closely related to those of MATLAB, see:
No particular requirements, apart from those for MATLAB. The faster the better but little memory or a slow hard disk can become a bottleneck so make sure to have a coherent hardware installation.
Recent MATLABs support implicit multiprocessing allowing to run multiple threads on a single machine without any change to the MATLAB code itself: this requires a multiple CPU (multiprocessor or multicore) system. The gain in compute time with SPM is not dramatic though.
If you run many MATLAB sessions in parallel to manually distribute your SPM processings, it is recommended to set the number of computational threads to one.
Some effort is currently done to provide a parallel version of SPM that could automatically distribute tasks on a multicore/multiprocessor machine or a cluster.
Major Operating Systems, MATLAB and SPM support 64bit architectures and are nowadays recommended.
The more RAM you have the better but SPM should accommodate with any amount of memory you have (provided there is enough for MATLAB itself). Remember that a 32 bit Operating System might not be able to make use of the full amount of memory.
For more information, see:
Neuroimaging datasets can be quite large so a slow hard disk can be a bottleneck for SPM processing. (I.e. if you've got the choice, choose the hard disk with the highest RPM. For even more performance, use multiple hard drives in a RAID1 or other RAID setup). Concerning the capacity, it's also obviously the more the better.
Reviews of hard disksEdit
Network File SystemEdit
It is certainly possible to store your datasets on an NFS server. If the server is located in another building or section of your building, make sure the entire connection to your SPM processing workstation is at least 100MB/s.
At current time little use is made of the GPU in SPM so the graphic card should not have any impact in SPM processing.