Community Profile

photo

Edric Ellis


Last seen: Today

MathWorks

752 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
Seeding random number generator in parfor properly
I'm not an expert by any means, but my understanding is that your proposed approach will give you reproducible results, but the ...

20 hours ago | 0

Answered
inexplicable GPU memory usage
MATLAB caches GPU memory and FFT plans etc. to make subsequent operations more efficient. This does mean that the FreeMemory pro...

9 days ago | 0

| accepted

Answered
Code that processes a Byte structure in parfeval crashes the parallell workers
I would suggest that you need to run whatever code you're currently using to initialize img on the desktop client, you instead r...

12 days ago | 0

Answered
How to restart a worker in parpool?
You can't easily do this with parfor, but you can do something like this with parfeval. I haven't tried too hard here to make th...

14 days ago | 1

| accepted

Answered
Running functions in parallel
In your code above, the two parfeval lines are initiating asynchronous function evaluation requests in parallel. You're also cal...

20 days ago | 0

Answered
Slicing variable in parfor loop (restricted indexing)
Steve has already pointed out that your X indexing expressions make it ineligible for slicing as things stand. However, fortunat...

21 days ago | 0

| accepted

Answered
CUDA kernel MaxThreadsPerBlock not constant
In your comment you mention that you see different values of MaxThreadsPerBlock for different kernels. This is expected. The CUD...

22 days ago | 1

Answered
sparse and gpuArray/sparse errors very odd! (with MWE)
@Matt J has already provided some great information here, just adding a few more thoughts on your specific cases. Case 1: spar...

26 days ago | 1

| accepted

Answered
Calling parpool with SpmdEnabled = False
Unfortunately, only MJS and Local cluster types support SpmdEnabled = false. You might be able to use the "cluster parfor" appro...

26 days ago | 0

| accepted

Answered
How do I specify the number of workers in parfeval without deleting and recreating my pool
Unfortunately, there's no API to constrain the number of workers from the pool eligible to be used by parfeval. What you could c...

27 days ago | 1

| accepted

Answered
How to properly store variables to use with parfor?
Yes, your code is somewhat inefficient in that in each parfor loop you're sending the whole of Tree to the workers. Here are a c...

1 month ago | 1

Answered
Parfor, how do I use the variable within the loop correctly?
The problem here seems to be that you're making multiple assignments to e.g. fvalagg. A stripped-down version of your code is so...

1 month ago | 0

Answered
Solution of large sparse matrix systems using GPU MLDIVIDE
A couple of suggestions: On the CPU, if you're repeatedly solving the same system, you might be able to benefit from the recent...

1 month ago | 0

Answered
How are iterations assigned to workers in parfor?
As @Mohammad already commented, the parfor implementation automatically divides up the iterations of the loop onto the workers. ...

2 months ago | 0

| accepted

Answered
How do I get parfor to downgrade gracefully to for when no parallel seat is open?
parfor already has the innate ability to run without Parallel Computing Toolbox being present, and it should automatically handl...

2 months ago | 0

Answered
Parfor loop using 'saves' correctly on around half of iterations
In general, it is not safe to have multiple workers attempting to save to a single file. The results are likely to be unpredicta...

2 months ago | 1

Answered
Why does function become slower when placed in spmd block?
Your desktop MATLAB client can use "built-in multithreading" for certain operations. By default, workers in a parallel pool use ...

3 months ago | 0

| accepted

Answered
tall/gather issue
This error means that the workers on your remote cluster cannot find code that they need to execute your tall array algorithm. Y...

3 months ago | 0

Answered
Cluster Profile Manager SPMD job test Failed
I'm going to guess you're using Linux. This is probably related to your ulimit settings, probably the limit on number of process...

3 months ago | 0

Answered
GPU computing: data no longer available on device??
That error occurs when MATLAB resets the GPU "context". This generally happens when you either select a different GPU device, or...

3 months ago | 2

Answered
fit options in a parfor loop
Unfortunately, this is a limitation in the implementation of the fitoptions class. You can work around this either by constructi...

3 months ago | 2

Answered
parfeval() doesn't call function
Unfortunately, the MATLAB debugger can't stop in code running on the workers - only code running at the client. In this case, y...

4 months ago | 0

| accepted

Answered
Parallel and serial computation
MATLAB uses built-in parallelism on a single machine for many large matrix operations. See this page: https://uk.mathworks.com/d...

4 months ago | 0

Answered
Error in saving and load function for MAT file using parfeval
The error you're receiving is a bit surprising - that probably means that all your workers crashed somehow. In any case, the sy...

4 months ago | 1

| accepted

Answered
Multiple outputs with parfeval
Each call to parfeval always returns only a single Future object. You can then subsequently request multiple outputs when you ca...

4 months ago | 0

Answered
parfor and function call using scatteredInterpolant
I'm not that familiar with scatteredInterpolant, but I concocted the following which shows I think the sort of thing you're afte...

4 months ago | 0

| accepted

Answered
Correct fetchNext index after clearing FevalFuture object
One way you can deal with this is by making the same modification to m as you proceed. Something like this perhaps: N = 10; m ...

4 months ago | 0

Answered
Slow performance of fftn in the gpu when used inside a loop
Various methods on the GPU operate to some extent asynchronously. But there are limits to this - depending on the amount of memo...

5 months ago | 0

Answered
Problem with parallel pool
Don't use -nojvm, Java is required for Parallel Computing Toolbox functionality. It looks like you're trying to start 4 workers...

5 months ago | 0

Answered
How can I solve the problem of communications of workers?
In your code, you define "sizeofChrom_dis_local", but then try to loop over "sizeofChrome_dis_local" - note the extra "e". That'...

5 months ago | 0

Load more