solving Ax=b in parallel using GPU cores

6 views (last 30 days)
Siba Mohapatra
Siba Mohapatra on 19 Jun 2015
Edited: Joss Knight on 19 Jun 2015
I want to solve Ax=b using gpu cores. The matrix A=(f_i(x_j)) and b=(b(x_j)) is constructed by evaluating function over some points. Please suggest how can I use the gpu cores to solve it? Any book article related is also helpful. thanks...
gpuDevice()
ans =
CUDADevice with properties:
Name: 'GeForce GT 740M'
Index: 1
ComputeCapability: '3.5'
SupportsDouble: 1
DriverVersion: 6.5000
ToolkitVersion: 5.5000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 2.1475e+09
FreeMemory: 2.0033e+09
MultiprocessorCount: 2
ClockRateKHz: 1032500
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1

Answers (1)

Joss Knight
Joss Knight on 19 Jun 2015
Edited: Joss Knight on 19 Jun 2015
If you can form a dense A then do so. Then call
x = gpuArray(A) \ b;
If you need A to remain a function (perhaps it is too big to fit in GPU memory) then currently you can only do this on the CPU using one of the iterative solvers: gmres, cgs, bicg, lsqr etc

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!