Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiprecision Performance Numbers #138

Merged
merged 8 commits into from
Feb 11, 2018

Conversation

jbcolli2
Copy link
Contributor

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
Copy link
Contributor

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

@ofloveandhate
Copy link
Contributor

✅ 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!!! 🥇


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 ofloveandhate merged commit e060751 into bertiniteam:develop Feb 11, 2018
@ofloveandhate
Copy link
Contributor

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
Copy link
Contributor Author

jbcolli2 commented Feb 11, 2018 via email

@jbcolli2
Copy link
Contributor Author

jbcolli2 commented Feb 11, 2018 via email

@ofloveandhate
Copy link
Contributor

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
Copy link
Contributor Author

jbcolli2 commented Feb 12, 2018 via email

@ofloveandhate
Copy link
Contributor

ofloveandhate commented Feb 12, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants