bertiniteam / b2

Bertini 2.0: The redevelopment of Bertini in C++.
90 stars 34 forks source link

Multiprecision Performance Numbers #138

Closed jbcolli2 closed 6 years ago

jbcolli2 commented 6 years ago

An executable code was created to generate the performance numbers for adaptive multiprecision, as in the AMP2 paper. This is found in examples/performance_numbers. The program runs a Jacobian evaluation, multiple matrix multiplications, and LU decompositions, for 20 different precision values from 16 to 308. Then, a linear regression is performed to determine the coefficients for the best linear fit, based on the data generated.

ofloveandhate commented 6 years ago

awesome, i'm excited to give it a try. thanks, jeb.

ofloveandhate commented 6 years ago

✅ configured straight away with cmake. awesome. ✅ compiled straight away, 👍 ✅ ran straight away, 💯

i don't really have time to read the code right now, but i trust this meets the need. we've been needing this for a while, too, so thanks so much!!! :1st_place_medal:


here's what i got when running the added program:

➜  build git:(jeb_develop_nopush) ./bin/performance_numbers 

Testing Jacobian evaluation, matrix multiplication, and LU decomposition in double precision:

Average time taken:
1.77606e-05

Testing Jacobian evaluation, matrix multiplication, and LU decomposition in multiple precision:

Evaluating with precision 16...
Evaluating with precision 30...
Evaluating with precision 45...
Evaluating with precision 59...
Evaluating with precision 74...
Evaluating with precision 89...
Evaluating with precision 103...
Evaluating with precision 118...
Evaluating with precision 132...
Evaluating with precision 147...
Evaluating with precision 162...
Evaluating with precision 176...
Evaluating with precision 191...
Evaluating with precision 205...
Evaluating with precision 220...
Evaluating with precision 235...
Evaluating with precision 249...
Evaluating with precision 264...
Evaluating with precision 278...
Evaluating with precision 308...
y(P) = 0.0364259*P + 8.81187

i suppose the next thing to do is adjust those numbers in bertini2's core, and run some timing tests...

thanks a lot, jeb. this is great.

ofloveandhate commented 6 years ago

i made a mistake, and should have checked on the files added before accepting. my bad. there are a bunch of files that are added.

can you make a new PR that removes the temp files? they're at core/example/CMakeFiles

jbcolli2 commented 6 years ago

You bet!

On Sat, Feb 10, 2018 at 10:36 PM, dani brake notifications@github.com wrote:

i made a mistake, and should have checked on the files added before accepting. my bad. there are a bunch of files that are added.

can you make a new PR that removes the temp files? they're at core/example/CMakeFiles

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bertiniteam/b2/pull/138#issuecomment-364717332, or mute the thread https://github.com/notifications/unsubscribe-auth/AF3KK689xrA8NcjVLTyCiuCVvH31Cty-ks5tTmAngaJpZM4SA9mG .

--

University of Mary Washington Department of Mathematics Trinkle Hall B41

jbcolli2 commented 6 years ago

Should the entire core/example/CMakeFiles directory be ignored?

On Sun, Feb 11, 2018 at 3:23 PM, Jeb Collins jbcolli2@gmail.com wrote:

You bet!

On Sat, Feb 10, 2018 at 10:36 PM, dani brake notifications@github.com wrote:

i made a mistake, and should have checked on the files added before accepting. my bad. there are a bunch of files that are added.

can you make a new PR that removes the temp files? they're at core/example/CMakeFiles

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bertiniteam/b2/pull/138#issuecomment-364717332, or mute the thread https://github.com/notifications/unsubscribe-auth/AF3KK689xrA8NcjVLTyCiuCVvH31Cty-ks5tTmAngaJpZM4SA9mG .

--

University of Mary Washington Department of Mathematics Trinkle Hall B41

--

University of Mary Washington Department of Mathematics Trinkle Hall B41

ofloveandhate commented 6 years ago

yes, please

did you not compile in a build folder? i think that's how that escaped the .gitignore you probably copied from the other examples. it should nonetheless be ignored, so i am kinda glad you caught it.

maybe you could add that folder to the .gitignore for the other examples, too?

jbcolli2 commented 6 years ago

I'll definitely add that folder to the .gitignore. But the thing was I did compile in build folder, and that CMakeFiles folder still got created. Not really sure why. In any case, I'll add it to .gitignore and that should fix it.

On Sun, Feb 11, 2018 at 4:21 PM, dani brake notifications@github.com wrote:

yes, please

did you not compile in a build folder? i think that's how that escaped the .gitignore you probably copied from the other examples. it should nonetheless be ignored, so i am kinda glad you caught it.

maybe you could add that folder to the .gitignore for the other examples, too?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bertiniteam/b2/pull/138#issuecomment-364789980, or mute the thread https://github.com/notifications/unsubscribe-auth/AF3KK6k_oW4bLvpxDXjo3FRo7OyHLHBrks5tT1nSgaJpZM4SA9mG .

--

University of Mary Washington Department of Mathematics Trinkle Hall B41

ofloveandhate commented 6 years ago

thanks. note that it's not enough to add it to .gitignore, the files have to be removed first.

On Mon, Feb 12, 2018 at 10:38 AM, Jeb Collins notifications@github.com wrote:

I'll definitely add that folder to the .gitignore. But the thing was I did compile in build folder, and that CMakeFiles folder still got created. Not really sure why. In any case, I'll add it to .gitignore and that should fix it.

On Sun, Feb 11, 2018 at 4:21 PM, dani brake notifications@github.com wrote:

yes, please

did you not compile in a build folder? i think that's how that escaped the .gitignore you probably copied from the other examples. it should nonetheless be ignored, so i am kinda glad you caught it.

maybe you could add that folder to the .gitignore for the other examples, too?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bertiniteam/b2/pull/138#issuecomment-364789980, or mute the thread https://github.com/notifications/unsubscribe-auth/AF3KK6k_ oW4bLvpxDXjo3FRo7OyHLHBrks5tT1nSgaJpZM4SA9mG .

--

University of Mary Washington Department of Mathematics Trinkle Hall B41

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/bertiniteam/b2/pull/138#issuecomment-364981151, or mute the thread https://github.com/notifications/unsubscribe-auth/ABUuH6s0tiUNZhJzW8RdzJxfvy4sRHauks5tUGjrgaJpZM4SA9mG .