Hi, I am trying to speedup my Julia finite element code. Right now I use the built in sparse solver to solve the linear system in parallel and the solving step is very fast. But my system matrix assembly is done serially using single process and its slow. I would like to speed up by assembling the system matrix and vector in parallel. I am executing the code using a shared memory machine (12 core workstation). Can someone give me a very simple example to do the following to help me get started:
Lets say, we have three matrices: A (dense) and B (dense) and C (sparse). All 3 can be shared arrays. I would like to have several processes running in parallel to fetch a set of elements from A and B, do some simple arithmetic and store the results into the sparse matrix C. I am treating 'A' as a matrix containing nodal co-ordinates and B containing the element info. Using the example, I would eventually convert my code such that each process computes an element matrix and assemble into the big sparse system matrix in parallel. Is this approach efficient ? Thank you.