This question already has an answer here:

I have developed my thesis codes by means of Mathematica software in a .nb file format. Despite using the available Parallel code capabilities and doing all the numerical integrations by means of parallel programming; the duration of programme run is so so much high; something like 2 to 3 weeks; which makes the debugging and verification part of the thesis almost unavailable. My question goes to two branches:

  1. How can I make my programme more efficient and run faster.
  2. I have heard that by applying the Cude or GPU programming; the duration of run will significantly be reduced. How is it possible to automatically change and turn my present codes to a Cude GPU code?

As far as I am facing lack of time for my thesis; answers to my questions and helping me decrease the run duration will be so appreciated.


marked as duplicate by Szabolcs, Ajasja, Öskå, Sjoerd C. de Vries, Yves Klett Jun 16 '14 at 14:14

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ Hard to say. As for 1) blog.wolfram.com/2011/12/07/… or mathematica.stackexchange.com/questions/29349/… $\endgroup$ – Ajasja Jun 16 '14 at 12:49
  • $\begingroup$ This question is much too broad to be answerable. It all depends on what your program does and how it's implemented. The most likely to be successful solution for a program that runs for 3 weeks is to rewrite it in a low-level language such as C, C++, Fortran, Java, etc. Using CUDA is not as simple as flipping on a switch. It requires rewriting the program an it's not always applicable. To take full advantage of it, you'd need to resort to using C again. $\endgroup$ – Szabolcs Jun 16 '14 at 12:52
  • $\begingroup$ This question is partially answered in that page but there is no clue to the GPU and Cuda writing there at all. $\endgroup$ – Enthusiastic Engineer Jun 16 '14 at 13:04
  • $\begingroup$ Do you perform matrix inversion of large matrices by any chance? It makes a really huge difference whether you have integers of reals in them. $\endgroup$ – Sjoerd C. de Vries Jun 16 '14 at 13:27
  • $\begingroup$ @user52417 Your CUDA question is essentially: "how can I speed up any Mathematica code using CUDA"? This is much too broad to have a clear answer, and for this reason it is not a good fit for this site anyway. Questions should be specific enough so that they can be reasonable answered in a page or so. The most basic thing you can do is look at the CUDALink documentation which lists a number of operations pre-implemented to be sped up using CUDA, such as CUDADot, CUDATotal, etc. You can try to use these. $\endgroup$ – Szabolcs Jun 16 '14 at 13:46

Browse other questions tagged or ask your own question.