Vectorization of the Jacobi method with single- and multiple right-hand sides

University essay from Lunds universitet/Matematikcentrum; Lunds universitet/Matematik (naturvetenskapliga fakulteten)

Abstract: Vectorization has been an important consideration for scientific com- puting performance for a long time. Early super computers were designed around vectorization, the so called ”vector computers”, but recent trends point toward favouring other computer architectures, and vector comput- ers are much more rare than they used to be. Nonetheless, vectorization still lives on to a smaller extent in modern computers, and it is important to make full use of these for optimal performance. Here we will investigate some options for implementing vectorized code, with various implemen- tation schemes. Our method of choice is the Jacobi method, an iterative method known for it’s excellent parallelization potential. The level of performance gains varied greatly between implementations, from being slightly slower to having the expected optimal performance. We will go into why we think the results are so varied, an important example being the level of non-contiguous memory accesses. Nonetheless, our successful implementations highlight the great potential importance of considering vectorization when implementing performance-critital software.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)