2
$\begingroup$

I have a large matrix computation and I use Parallel table, which launches 4 Kernels. I do not have a GPU. Will having a GPU help me in Launching more Kernels and solve the problem faster? All my computation is Linear Algebra. I have looked at CUDALink help in mathematica and was still not sure whether Parallel Table is an inbuilt function or not?

$\endgroup$
2
  • $\begingroup$ Yes... it will. $\endgroup$ Commented Mar 30, 2017 at 23:20
  • $\begingroup$ It depends on the number of steps you process per matrix. The crux is the time you will need to copy the data from the "CPU" to the "GPU" and back. That takes the most time in GPU operation. You may also use "zero copy" memory asignment to avoid copying from CPU memory to GPU. memory (direct access by GPU to CPU memory). But that I have never made it, so I can not comment on the speed of this. Btw. there are also packages available for CUDA that provide linear algebra functions for CUDA. $\endgroup$
    – Eisbär
    Commented Mar 31, 2017 at 8:26

1 Answer 1

3
$\begingroup$

Too long for comments

ParallelTable uses CPU cores so having a GPU will not speed it up. However, you can use the GPU by writing your matrix operations with the CUDA Linear Algebra functions found in the CUDALink Guide.

You can also write your own CUDA functions directly or with Symbolic CUDA (found in the CUDALink Guide) and Symbolic C. See the Symbolic Code Generation section or the CUDA Programming tutorial.

$\endgroup$
1
  • $\begingroup$ Thank you, that what I expected $\endgroup$ Commented Apr 2, 2017 at 18:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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