I'm building a new workstation for solving a lot of banded matrices. I only have to solve for a single solution, and I use LU decomposition of the matrix using the functino 'cgbtrf'. The matrices are around 300.000 x 1024 and upwards.
For this algorithm, is higher frequency higher CAS latency better than lower frequency lower CAS latency? I.e. is it the bandwidth or the fetch delay that will be my bottleneck?
I'm considereing 1066 MHz CAS 7 vs. 1333 MHz CAS 9 in 8 GB blocks to have room for expanding beyond my initial 64 GB.
Or will this not affect anything as it will all be bottlenecked by the CPU? (2x E5-2640).
Thank you for your replies.
The reason for the selection of memory is how I expect the LU decomposition works. It states in the wiki pages that compilers choose according to CAS latency, but for read/write operations it will still matter unless a lot of the data is cached before-hand. For 1k rows, the data usage will be 8KB per row and 8MB for all data relevant to the operations of a single matrix, assuming the out of reach data has to be read anyway.
In the multi-threaded case the data needs to be shared with other CPU's, which makes the data size exceed the cache data available on the specific CPU. So, depending on the algorithm, it will be one or the other. So I thought to ask in the case anyone made a test of this.
Regarding memory size I need to keep other data along with running multiple cases at once for full CPU utilization. This will allow me to benefit from the 64GB.
But as you write, I might be overshadowed by other effects.
>>>I wouldn't worry about CAS latency numbers for some DIMMs because even with the fastest memory in case of matrix multiplication processing is more CPU-bound then RAM-bound. In order to get results faster you need to use Advanced matrix multiplication algorithms, like:>>>
Yes that is true.Better option is to invest in powerful CPU than in CAS 7 or 9 latency memory.I suppose that those programs influenced by the memory bandwidth could be described as those which have a high ratio of load/store operations.
I have found a few links about the impact of memory bandwidth on scientific application