CULA 1.1

by Dan

Today we're very excited to announce the release of CULA 1.1.  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 (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!

I hope this post gave you a good impression of some of the things we've been working on for the past two months.  Over the next few posts we'll be describing some of these features in more detail.  Until then, download the latest version of CULA and post your results on the forums.  We hope you're as excited about this new release as we are!

Comments (0) Trackbacks (0)

Sorry, the comment form is closed at this time.

Trackbacks are disabled.