Community Profile

photo

Edric Ellis


Last seen: Today

MathWorks

786 total contributions since 2011

Developer at MathWorks, working on Parallel Computing Toolbox. Professional Interests: parallel computing, distributed arrays, gpu

Edric Ellis's Badges

  • Personal Best Downloads Level 1
  • First Review
  • 5-Star Galaxy Level 2
  • First Submission
  • 36 Month Streak
  • Thankful Level 1
  • Guiding Light
  • Revival Level 2
  • Knowledgeable Level 4
  • First Answer
  • Solver

View details...

Contributions in
View by

Answered
Memory Parfor Needs more memory than normal
When you transfer data to the workers for a parfor loop, there is a transient increase in memory over and above what you'd expec...

1 day ago | 0

Answered
parfor doesn't continue to run other jobs when only one worker is working
parfor sends loop iterations to workers in groups known as "subranges" for efficiency. Also, recent versions of Parallel Computi...

4 days ago | 0

Answered
Use system function with parfor
It looks like your executable expects to read from input.txt and write to output.txt. This will not work in parallel because the...

10 days ago | 1

Answered
Trying to use gpuArray for graph function
Unfortunately, graph does not support using gpuArray data in this way. Is there some specific algorithm on your graph that you'r...

12 days ago | 0

Answered
Return values in a parfor loop
Fundamentally, you need to "bind" a value in to the function that gets invoked by afterEach. The simplest way to do this is to u...

15 days ago | 0

| accepted

Answered
SPMD and Asynchronous execution of an optimization routine?
labSend and labReceive are designed for matched communication, and there isn't any built-in facility to receive only the most re...

19 days ago | 0

| accepted

Answered
How to distinctly assign job and get the result of each worker using "parfor"?
This sounds more like a job for spmd . Read more about that here: https://www.mathworks.com/help/parallel-computing/spmd.html . ...

23 days ago | 0

| accepted

Answered
nested for inside parfor, writing to shared variable
parfor knows how to handle "reduction" variables like this correctly. (Behind the scenes, each worker process accumulates a part...

29 days ago | 0

Answered
Starting a parfor loop
It might be useful to read this introduction to Parallel Computing Toolbox. In essense, you should simply be able to write a par...

29 days ago | 0

| accepted

Answered
parfor does not uns parallel pool when a parfeval process is still running
Yes, this behaviour is expected - the different parallel language features parfor, parfeval, and spmd do not share the pool. You...

29 days ago | 0

| accepted

Answered
Perfomance Loss of Matrix-Vector Multilplication on GPU with Array Indexing
Unfortunately, the expression A(8001:18000,:) requires a strided memory copy. Matrices in MATLAB (even on the GPU) are stored in...

30 days ago | 1

| accepted

Answered
Why is MATLAB gpuArray sparse matrix multiplication so fast despite using double precision?
You should use gputime it to time operations on the GPU (although I'm not certain it will actually make a difference in this cas...

1 month ago | 1

Answered
Parfor loop: how to keep the temporary variables ?
Output variables from parfor must be either sliced or reduction variables. So, you could adapt your code like so: parfor i = 1:...

1 month ago | 0

| accepted

Answered
Efficient use of matfile within parfor
The problem is all to do with your assignment into v.yC. The parfor analysis cannot tell that this is safe and not order-depende...

1 month ago | 0

Answered
How to use GPU arrayfun in App Designer: Function passed as first input argument contains unsupported 'MCOS' language feature 'CLASSDEF'
I think you simply need to make your function func3 be a normal (non-method) function. You should be able to place it in either ...

1 month ago | 0

| accepted

Answered
parallel processing fine balance
You're quite right that in this case, you're always inevitably going to be held up by the slowest worker. It's almost impossible...

1 month ago | 0

| accepted

Answered
Pass NET-Object to parallel function (parfeval)
I do think parallel.pool.Constant is probably part of the answer here, but you need to make two changes: Make sure you perform ...

2 months ago | 1

Answered
Parfor: Unable to perform assignment because the size of the left side is 98-by-50 and the size of the right side is 107-by-50
Unfortunately, error reporting from parfor has some limitations, and specifically it cannot indicate the precise line within the...

2 months ago | 0

| accepted

Answered
Apply function row-wise on a tall array
You're on the right track with matlab.tall.transform, but you should call your function in that context. The function invoked by...

2 months ago | 1

| accepted

Answered
Some workers go idle in parfor creating a waste of computation time
The parfor implementation uses a number of different strategies to try to keep the workers busy. However, sometimes these might ...

2 months ago | 0

| accepted

Answered
Parallel optimization hanging on getCompleteIntervals
A few notes: The deadlock detection is for labSend and labReceive. Your parallel code is using parfor. There is no way that par...

2 months ago | 1

Answered
mpiprofile viewer crashes unexpectedly
I suspect the debug breakpoint is interfering with the data transfer from the spmd block back to the client. I suppose the only...

2 months ago | 0

| accepted

Answered
Issue with writematrix and parfor
You cannot write to the same file simultaneously from mulitple processes. (This is not a limitation specific to parfor - rather,...

2 months ago | 0

Answered
interrupt a function when it takes too long
The simplest approach would be to modify the potentially long-running function so that it checks whether it has exceeded its tim...

2 months ago | 0

Answered
Can ParallelServer be run from a client behind a NAT (connecting to cluster outside of NAT)
It should work to specify the routable address at the client using pctconfig. Something like pctconfig('hostname', '<routable a...

2 months ago | 0

| accepted

Answered
Convert code to run on parallel
It's hard to tell exactly what computations you're performing there. It would be better if you could give us a reproducible exam...

2 months ago | 1

| accepted

Answered
How to close client node when running a parpool job across multiple nodes of a cluster using slurm scheduler integration
You would be better off if you can submitting only a single job to the cluster, have that job be a batch job with the Pool optio...

2 months ago | 0

| accepted

Answered
-r vs -batch when calling matlab in unix
(I'm not an expert here, just a user of the -batch option) The main advantages for me of the -batch option compared to -r for n...

2 months ago | 0

| accepted

Answered
Parfor indexing for looping over edges and assigning to adjacent cell indices
I think this can be made to work, but it might be a little tricky. parfor is complaining because your output variables flux and ...

2 months ago | 0

| accepted

Answered
Parfor solving optimization problems (Cplex) slower than for
Does the performance improve much / not much / not at all if you run the parfor loop a second time without closing the pool? If...

2 months ago | 1

Load more