octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #60818] delaunayn - 2D code path vectorization


From: Nicholas Jankowski
Subject: [Octave-bug-tracker] [bug #60818] delaunayn - 2D code path vectorization doesn't match nD algorithm
Date: Tue, 29 Jun 2021 12:21:16 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36

Follow-up Comment #7, bug #60818 (project octave):

patch in comment #4 applies clean to default on my machine. and delaunayn
appears to run fine. 

adding to the timing comparisons on discourse:


rand("state", [1:625]');
x = rand(1000,1)*4-2; y = rand(1000,1)*4-2; z = rand(1000,1)*4-2; p =
rand(1000,1)*4-2;  q = rand(1000,1)*4-2;r = rand(1000,1)*4-2; s =
rand(1000,1)*4-2;

n = 1000; tic; for idx = 1:n, delaunayn([x,y]);endfor;toc


and adjusting dimension and n as practical:


dim      n       existing_loop (s)       expanded_det (s)        factor  
block-LU (s)    factor
2D      10000   7.91032 7.69139 1.028   7.85065 1.007
3D      1000    35.6323 1.77464 20.07   3.74609 9.511
4D      100     11.4891 0.686602        16.73   2.03804 5.637
5D      100     39.3493 3.55978 11.05   11.7757 3.341
6D      100     155.825 27.9706 5.571   63.8424 2.440
7D      10      54.9079 16.8202 3.264   32.2846 1.700



I'm surprised to see the significant difference of the explicit determinant
over the block-LU approach.  I note, though that the `<tau" check is still
different and may be much simpler in that approach. I don't know if this
accounts for some of difference.



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60818>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]