patchGNU Octave - Patches: patch #7970, Added trivial OpenMP constructs to...


patch #7970: Added trivial OpenMP constructs to liboctave/array classes as an experiment.

Submitter:  Júlio Hoffimann Mendes <juliohm>
Submitted:  Sun 10 Mar 2013 10:00:02 PM UTC
Category:  Core : new feature Priority:  5 - Normal
Status:  Need Info Privacy:  Public
Assigned to:  None Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup

Tue 07 Oct 2014 06:56:47 PM UTC, comment #4: 

I just rebased this on top of the current development branch and could not see any obvious improvement on performance.  I may be testing the wrong thing. Did you test it?

Carnë Draug <carandraug>
Group Member
Sun 17 Mar 2013 09:04:37 PM UTC, comment #3: 

I simply edited the previous patch file and removed all the sections doing more than #pragma insertions. I'll do better investigation in future patches.

(file #27620)

Júlio Hoffimann Mendes <juliohm>
Sun 10 Mar 2013 10:57:37 PM UTC, comment #2: 

Ok John, i'll do it. I'm bit tired for doing this right now, i need a break before look into this again.

Júlio Hoffimann Mendes <juliohm>
Sun 10 Mar 2013 10:30:53 PM UTC, comment #1: 

Your patch does more than add #pragmas.  For example, I see changes like the following:

@@ -2021,15 +2027,13 @@
                               Complex tmp = work[k] / data (cidx (k+1)-1);
                               work[k] = tmp;
-                              for (octave_idx_type i = cidx (k);
-                                   i < cidx (k+1)-1; i++)
-                                {
-                                  octave_idx_type iidx = ridx (i);
-                                  work[iidx] = work[iidx] - tmp * data (i);
-                                }
+                              #pragma omp parallel for
+                              for (octave_idx_type i = cidx (k); i < cidx (k+1)-1; i++)
+                                work[ridx (i)] -= tmp * data (i);

Could you please undo these kinds of changes and make the patch add #pragmas only?  That will be much easier to evaluate.

I'm not opposed to the other kinds of changes, but let's make them separately.

John W. Eaton <jwe>
Group administrator
Sun 10 Mar 2013 10:00:02 PM UTC, original submission:  

This patch is the first attempt (in the Octave source itself) to fully utilize the available hardware.

Although it contains lots of changes, they are all trivial and were only added within a certain degree of confidence. I'm almost sure they won't cause any problems.

They passed all previously succeeding tests, but require benchmark.

If you have a heavy script covering these changes, please tell us how much, if any, performance gain you get from it.

Júlio Hoffimann Mendes <juliohm>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #27620:  openmp_fixed.patch added by juliohm (52KiB - text/x-patch)
file #27595:  openmp.patch added by juliohm (94KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by mtmiller (Updated the item)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by juliohm (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-04-10 mtmiller CategoryNone Core : new feature
        StatusNone Need Info
    2013-03-17 juliohm Attached File- Added openmp_fixed.patch, #27620
    2013-03-10 juliohm Attached File- Added openmp.patch, #27595

    Back to the top

    Powered by Savane 3.13-c54d.
    Corresponding source code