I have already developed a working solution of the Finite Element Method to solve heat transfer problems using GPU and OpenCL using the Conjugate Gradient method. The main disadvantage of this method is high demand for memory. Moreover, in case of graphics cards memory is often very limited. I see two options:
- Create subdomains and swap parts of the mesh with host memory
- Use multifrontal methods
I have to take into account the specific architecture. Swapping could be very expensive. CG method is popular in the context of GPGPU computing but I cannot find any comparison between CG and multifrontal methods (in case of GPGPU). Can multifrontal method be faster then CG? This is a general question, in fact, it still depends on the implementation.