It’s been a while since we last published an update, but it does not mean we have not been working!
Thanks to the benchmark codes provided by Nick Johnson (EPCC), we have been able to detect several situations that were not properly addressed by our implementation. We also took the opportunity to do some “house cleaning”, and we added a set of tests with an auto-verification script to help the maintenance of the code. Since the 0.1a release that we published on October 11 2012, we have committed around 50 changesets to the compiler and more than 20 to the runtime, so we believe it is that time of the year when we pack everything, write some documentation and release a new version, release 0.2. Still far from version 1.0, but getting closer.
Many thanks to all the people that has contributed to this release, in particular Juan J. Fumero and José L. Grillo, from University of La Laguna, who have been doing an incredible job to have everything ready for this release!
The new version can be downloaded here. Follows is a list of relevant issues added or fixed in this new release:
- Added 20 new validation tests
- Added an script to run and check the tests automatically
- Added support for the acc parallel directive, including num_gangs and num_workers
- Improved support for the if clause
- Many minor/weird bugs fixed both in compiler and runtime
- Added suport for the firstprivate clause (including arrays)
- Removed the requirement of putting reduction variables in a copy clause before using it
- Script to ease the compilation of source code (just type ./accull source.c)
- Some cleanup in the Frangollo code generator
- Added support for Kepler cards to the runtime
- Code generation should be slightly faster than before
As you can see, the majority of the changes have affected the compiler. We expect a new release with many changes to the runtime, addressing cleanup and performance, in a short period of time. Keep posted!