Answered
how can i use max funtion in arrayfun on GPU
Inside the body of a |gpuArray| |arrayfun| call, the |max| function only operates in its two-input-argument form - i.e. where it...

9 years ago | 1

| accepted

Answered
how can I get details about the functions called inside parfor in a profile summary report?
This is rather non-obvious, but you can use <http://uk.mathworks.com/help/distcomp/mpiprofile.html mpiprofile>, like so: sp...

9 years ago | 0

| accepted

Answered
paralleling sequence of matrix multiplication
There's a <http://uk.mathworks.com/help/distcomp/choosing-a-parallel-computing-solution.html page in the Parallel Computing Tool...

9 years ago | 0

Answered
How to count?
Outputs from a |parfor| loop must be sliced or reductions. In this case, you want a <http://uk.mathworks.com/help/distcomp/slice...

9 years ago | 0

| accepted

Answered
Why is createJob / createTask so much slower than parfor?
The thing to remember about your timings is that when using |createJob| and |createTask| with the |local| cluster type, each tas...

9 years ago | 1

Answered
Codistributed array as class property
|spmd| blocks can only transform correctly between the |distributed| and |codistributed| representation when the distributed arr...

9 years ago | 1

| accepted

Answered
Improve several Parfor performance
You can use |parfeval| to "stack up" all the calls. This should give you reasonable load-balancing (i.e. ensure all workers are ...

9 years ago | 0

Answered
For loop indexing gpuArray
I think the best approach here is to vectorise your code so that you're not calling |fft| in a loop, nor indexing the |gpuArray|...

9 years ago | 2

Answered
gpu support for sparse calculation : times function
You're quite right that |times| is not currently supported for sparse |gpuArray|, although the scalar-expansion version of |mtim...

9 years ago | 0

Answered
How to output a vector that is the sum of each slice or page from a 3D array on GPU
There's a much simpler solution that involves only a single summation, like so: array = ones(3, 3, 5, 'gpuArray'); r...

9 years ago | 1

| accepted

Answered
Can i run parallel computing on 32bit windows 10(R2015b)? Which components must be installed?
Parallel Computing Toolbox is not supported on WIN32 starting in R2015b. This is documented <http://uk.mathworks.com/help/distco...

9 years ago | 0

| accepted

Answered
How to use parfor in explicit method?
|parfor| generally doesn't offer much speedup when the body of the loop is a small amount of simple arithmetic like this. In thi...

9 years ago | 0

Answered
How to share a HashMap in parallel computing
There is no way to have the |map| data structures automatically propagate changes, but you could use the communication functions...

10 years ago | 1

Answered
Obtain memory usage and class for GPU variable
Unfortunately, |whos| only reports the memory usage on the CPU of a |gpuArray|. For non-sparse |gpuArray| data, you can compute ...

10 years ago | 2

Answered
If I create a gpuArray variable, do other variables that are derived from that variable go to the gpu too?
In this case, |Ig| does indeed get created as a |gpuArray|. The general rule is that if a parameter of a function is considered ...

10 years ago | 0

Answered
'Out of memory on device' error for GPU
This behaviour is related to what MATLAB calls "in-place optimization". There's some background in this <http://blogs.mathworks....

10 years ago | 1

Answered
Does SPMD always use all cores?
|spmd| blocks by default use all the workers in your parallel pool. You can make an |spmd| block use fewer workers by specifying...

10 years ago | 0

| accepted

Answered
get matrix in parfor
You can't update the |parfor| reduction variable |result| inside the inner loop, you need to update it directly in the body of t...

10 years ago | 0

Answered
Is there anything like parfor for while loops
As Walter says, there is no simple version of a parallel |while| loop in MATLAB. |parfeval| was designed with this sort of case ...

10 years ago | 2

Answered
SPMD and FFT causes lock condition?
In this case, the problem is arising because each worker is indexing into the |codistributed| array |X| using different indices....

10 years ago | 1

| accepted

Answered
Error: The variable VAC in a parfor cannot be classified
I think you simply need to ensure that you make only a single assignment into |VAC|, as the code analyzer message suggests. Like...

10 years ago | 0

| accepted

Answered
Benchmark performance of GPU computing of Monte-Carlo simulation
Walter's answer covers most of the salient points here. You could also try <http://uk.mathworks.com/matlabcentral/fileexchange/3...

10 years ago | 0

Answered
arrays of reduction variables
In this case, |parfor| doesn't understand the fact that you're performing independent reductions on the rows of |b|. You can con...

10 years ago | 0

| accepted

Answered
How to use properly parfor?
I think you need to create |vid| on the workers, I suspect the object does not correctly transfer from the client to the workers...

10 years ago | 1

Answered
Building an array using parfor
What version of MATLAB are you using? I tried this in R2015b, and it worked as expected: parfor ifreq = 1:80 for iSig ...

10 years ago | 0

Answered
How to create a sequence of numbers on the GPU
The direct equivalent is to use |gpuArray.colon|, like so: myarray = gpuArray.colon(1,100000); More <http://uk.mathworks...

10 years ago | 1

| accepted

Answered
How to reshape a gpuArray in a mex file?
Walter is correct that the data in the |mxArray| is on the GPU. You cannot use |mxSetDimensions| on an |mxArray| that refers to ...

10 years ago | 0

Answered
gpu computation is slow sometimes
Some operations using |gpuArray| don't complete synchronously, so using |tic| and |toc| can give you misleading timings. You sho...

10 years ago | 1

| accepted

Answered
Please help me to initiate Matlab GPU programing.
You must use R2010b or later to use |gpuArray| functionality.

10 years ago | 0

| accepted

Answered
Parallel processing to update plot
It's possible that you might be able to use |parfeval| to achieve this. You cannot use |global| variables for the communication,...

10 years ago | 2

| accepted

Load more