Community Profile

photo

Edric Ellis

MathWorks

Last seen: Today Active since 2011

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

Statistics

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

View badges

Content Feed

Answered
Incompatible indexing of variable for parfor
The total size in bytes of Network is 5*12*76*8 = 36480. That is tiny. Ignore the parfor "broadcast" warning - that is intended ...

9 days ago | 0

Answered
Minimum/maximum CUDA Toolkit requirement for R2022a
To run code using gpuArray, you do not need to install a CUDA Toolkit. You only need a CUDA driver. You should always* install t...

1 month ago | 0

Answered
Is there an easy way to find out which workers are running on the same host in a Generic Cluster job so I can efficiently allgather?
You can use gop to perform general MPI-style all-reduce operations, and a special case of that is gcat which can operate as an M...

1 month ago | 0

| accepted

Answered
Unsure why parfor loop does not work in this case
The problematic variables appear to be both M and P. For M, you have multiple different "reads" from the variable after the init...

1 month ago | 0

Answered
Writing to .mat simultaneously with parfor loop
Don't attempt to save from multiple workers to the same file, this will sometimes fail (exactly when/how it fails depends on you...

2 months ago | 2

| accepted

Answered
SPMD to process different iteration on different worker
It's not entirely clear to me quite what you're after. You might want for (drange) which spreads the iterations of a for loop ov...

2 months ago | 0

Answered
process based parpool: keep the data in the workers
Mike has already suggested looking at parfeval. The other option, which may be appropriate for your problem is to use spmd. This...

3 months ago | 0

| accepted

Answered
GUI program with parfeval
You should be able to cause the GUI to update by using wait in a loop, together with drawnow. A bit like this: while ~wait(thre...

3 months ago | 0

| accepted

Answered
Parfor loops indexing into table rows
There's a few things conspiring against you here. Firstly, parfor analysis doesn't understand how to "slice" table data using va...

3 months ago | 1

| accepted

Answered
Discarded Messages with SPMD and labReceive ... why?
Using conditional receives in this way is not a robust way to get the workers to collaborate - you have an ordering problem that...

3 months ago | 0

Answered
How to set a background pool to process-based instead of thread-based
Unfortunately, as you have seen fopen is not yet supported on thread-based pools such as backgroundPool. There is no way to conf...

3 months ago | 0

| accepted

Answered
parfeval with fetch not working
You cannot pass database connection objects to workers directly like this. You should use createConnectionForPool . There are ex...

3 months ago | 2

| accepted

Answered
How to select GPU when doing thread-based parallel?
Unfortunately, spmd is indeed not yet supported for thread-based pools. Until it is, you can do something like the following to ...

3 months ago | 1

| accepted

Answered
Segmentation error during parfor loop (remote linux server)
The crash dump suggests the workers are crashing inside ipqpdense. This problem should be fixed if you upgrade to R2020a or late...

3 months ago | 0

Answered
Why does the number of workers decrease while running parfor?
The number of workers in a local parallel pool decreases like this only when one of the worker processes terminates (i.e. crashe...

4 months ago | 0

Answered
valid indices in a parfor loop
There are a couple of ways to work around this. You can either unroll the inner loop, or else make the output matrix 3d so that ...

4 months ago | 0

Answered
Using public class methods and libraries in parfeval()
I suspect the problem here is that when you transfer instances of your ADXL372 class to the workers, they are not getting set up...

4 months ago | 0

| accepted

Answered
error running lines with parallel computing toolbox,
I suspect you're running MATLAB in a -nodisplay mode, and somwhere inside the code you're using, ParforProgMon is not equipped t...

4 months ago | 0

Answered
Is there a built-in function to validate a class property that should be a cell array?
Rather than a validator, you could perhaps just use the class specification? (In my code below I'm using a function with an argu...

4 months ago | 1

| accepted

Answered
Parallel pool on function that uses persistent variables
As Walter points out, workers (either threads or processes) do not share persistent variable workspaces. I too cannot find this ...

4 months ago | 0

Answered
What can I do/try to make MATLAB release the GPU after a GPU runtime error?
Use this: reset(gpuDevice)

4 months ago | 1

Answered
Difference between debug parfor loop and run it
Further to Walter's answer, parfor assumes that anything that is not statically provable to be a variable reference must be a fu...

4 months ago | 1

| accepted

Answered
Error: Unable to classify a variable in the body of the parfor-loop
The problem here is that you've got two different accesses to the variable out. On line 7, you have the valid sliced indexing ex...

4 months ago | 2

Answered
proper use of DataQueue and PollableDataQueue inside of App Designer class?
In this case, the problem is not with your DataQueue - it's actually with the function handle you're passing in to parfeval. The...

4 months ago | 1

| accepted

Answered
How does an active parpool influence serial / threaded mex computation? (runtime/memory)
Simply: an idle parpool should be doing nothing very much other than sitting there consuming some memory. It should consume only...

4 months ago | 1

| accepted

Answered
Separating subtables from a larger table by using the variable values in a column
Rather than looping, you might be able to use findgroups and splitapply to do what you need. Imagine you wish to compute the max...

5 months ago | 1

| accepted

Answered
Shared memory in parfor genetic algorithm
If you're using R2022a or later, you could use ValueStore to allow workers to share values. The main requirement here is for you...

5 months ago | 1

| accepted

Answered
How to input global variables in function that is in parloop?
Another option is to use parallel.pool.Constant to arrange for the data to be loaded and then accessed. This can be a bit simple...

5 months ago | 1

Answered
How to change the parameter in Mask and run the simulation parallel
Given a simple model like this which has a mask with a parameter named gain_val You need to do something like this: mdl = 'm...

6 months ago | 1

Answered
Setting up parallel computations for a single dataset, as opposed to spmd
This is precisely the sort of thing that parallel.pool.Constant was designed for. You build a Constant once on the client, the d...

6 months ago | 0

| accepted

Load more