Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

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:

  1. Create subdomains and swap parts of the mesh with host memory
  2. 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.

share|improve this question
2  
Do you do global assembly of the matrices in the FEM code of yours? or do you use matrix-free implementations? (i.e. no explicit formation of the matrices) –  Allan P. Engsig-Karup Feb 20 '12 at 15:34
3  
What preconditioner are you using and what is the domain like? A ten year old desktop using a good algorithm will beat a cluster of GPUs using a crappy algorithm. –  Jed Brown Feb 21 '12 at 2:09
    
Are you using hexahedral or simplical meshes? If memory is an issue and you're using hex elements with tensor product basis functions, you can save memory in some cases by saving only 1D operators and using a matrix-free implementation (like Allan mentioned). –  JLC Jun 1 at 18:43

2 Answers 2

I'm the project lead on LibGeoDecomp, so I thought I might chime in.

Yes, you can implement a FEM with LibGeoDecomp. We're currently working on an improved data container for exactly this use case. But to be fair: completion of that work is still months away, and until then performance will not be optimal. Feel free to contact me via e-mail if you still want to give LibGeoDecomp a try.

Another option would be Fenics, which has well optimized solvers for irregular problems. But AFAIK you don't get to write your own solver in that case.

share|improve this answer

I don't know whether it helps you. Here, you'll find a link to libgeodecomp, a tool which employs customizable domain decomposition techniques (from the site). It can be used with GPUs as far as I know. If it helps you, vote me up ;-)

share|improve this answer
    
It looks quite promising. Thank you. –  Krzysztof Bzowski Oct 9 '12 at 7:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.