Liana at EM Photonics emailed me to let me know that the promo they did for insideHPC readers exceeded our expectations. By the time that day 2 started the fifth copy was in the hands of some eager code monkey hoping to accelerate his or her app with CULA’s GPU-accelerated LAPACK routines.
She also let me know they’ve revved CULA to version 1.1. There isn’t a press release, but this is what she sent via email
We’re very excited to announce the release of CULA 1.1 Beta. This new version of CULA includes improvements from every angle. Here is a subset of the improvements that have made it into this release:
- Exciting new functions including general Eigensolver (CULA Premium Feature)
- Bridge interface for migrating currently existing LAPACK/MKL code
- Better documentation including a full API reference
- New examples constructed from user feedback
- More performance!
- Mac OS X support (Preview)
In this new version of CULA, we’ve put a lot of effort into responding to users questions, comments, and suggestions. One of the most common suggestions has been to provide eigenvalue calculations, as that was one of the major subject areas of linear algebra our 1.0 release hadn’t provided – and so we ensured in this release that this functionality was our top priority.
Another common suggestion has been to provide a migration path from other LAPACK systems to CULA. With CULA 1.1, we’re introducing one of our most exciting new features: the Bridge interface. This interface is targeted at users who are porting existing linear algebra codes to a GPU-accelerated environment. It makes this job easier by matching the function names and signatures of several popular linear algebra packages including MKL, ACML, and cLAPACK. It additionally provides a fallback to CPU execution when a user does not have a GPU or when problem size is too small to take advantage of GPU execution. By providing a migration path from three major LAPACK packages, we hope this feature shows how committed we are to making CULA easy to use.
One of the things that users have asked for is a detailed function reference. Although CULA closely mirrors other LAPACK packages, some of our users (especially those without LAPACK experience) were confused by some functions and semantics. With this release, we’ve included a reference manual that is a companion to the programmers guide. We’ve put a lot of effort into making sure that these documents cover all of the questions our users have posted and we hope it shows in this new release.
With CULA 1.1, we’ve created 3 new examples. One of these examples showcases the Bridge interface mentioned I mentioned previously. The other example demonstrates using CULA in a multi-threaded multi-GPU environment, a common question our users have asked on our forums. The last example uses system solves to demonstrate using CULA with data types other than single-precision real. If you have any suggestions for new examples, post your suggestions in the forums and we may be able to get these into the final release of 1.1.
Last but not least, we’re introducing a Preview build for Mac OS X 10.5 Leopard. Why do we say it’s a Preview? Currently, our Mac toolchain is limiting us to supporting only single-precision real across the board, but we’ll be expanding this support very shortly. Please keep an eye on this blog for future updates; we have a lot to say about Mac!