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

add accelerate provider #7

Merged
merged 1 commit into from Aug 24, 2015
Merged

Conversation

astraw
Copy link
Member

@astraw astraw commented Aug 23, 2015

Hi, I managed to get Apple's Accelerate.framework packaged up and published to crates.io. It would be create if you could merge this and make a new release. Thanks!

@IvanUkhov IvanUkhov merged commit 9488cd4 into blas-lapack-rs:master Aug 24, 2015
@IvanUkhov
Copy link
Member

@astraw, I really appreciate these four pull requests! I’ve been planning to create this provider for ages. It’ll be interesting to see how Accelerate compares with OpenBLAS.

Regards,
Ivan

@IvanUkhov
Copy link
Member

Here are some superficial benchmarks:

Accelerate:

multiply_left_0010   ...         429 ns/iter (+/- 341)
multiply_left_0100   ...     204,151 ns/iter (+/- 173,491)
multiply_left_1000   ... 114,508,598 ns/iter (+/- 10,434,712)
multiply_right_0010  ...         428 ns/iter (+/- 312)
multiply_right_0100  ...     211,328 ns/iter (+/- 50,826)
multiply_right_1000  ... 114,822,024 ns/iter (+/- 45,520,929)
symmetric_eigen_0010 ...      21,009 ns/iter (+/- 17,384)
symmetric_eigen_0100 ...   2,710,091 ns/iter (+/- 170,804)
symmetric_eigen_1000 ... 643,218,416 ns/iter (+/- 81,163,491)

OpenBLAS:

multiply_left_0010   ...         637 ns/iter (+/- 254)
multiply_left_0100   ...     136,785 ns/iter (+/- 101,942)
multiply_left_1000   ... 105,401,081 ns/iter (+/- 36,737,045)
multiply_right_0010  ...         583 ns/iter (+/- 101)
multiply_right_0100  ...     121,236 ns/iter (+/- 27,124)
multiply_right_1000  ... 104,822,927 ns/iter (+/- 16,554,278)
symmetric_eigen_0010 ...      39,096 ns/iter (+/- 45,000)
symmetric_eigen_0100 ...  11,619,836 ns/iter (+/- 1,533,766)
symmetric_eigen_1000 ... 918,963,320 ns/iter (+/- 140,549,251)

Looks like Accelerate is good at computing eigendecompositions.

Regards,
Ivan

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

Successfully merging this pull request may close these issues.

None yet

2 participants