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!
hi thanks for the interesting acc compiler. but it seems that the download page is down?
Hi Guowei,
Unfortunately the webpage is down. You can get the source from
https://bitbucket.org/ruyman/accull/downloads
Sorry for the inconvenience,
I love the compiler. But I do have one question. Does accull allow data construct?
#paragma acc data copy(A) create(Anew)
Both of these variables are arrays of size 4096*4096 so as you can tell this is important to only copy once. I tried running the code with the data construct and timing did not go down. I have an account on a cluster that has PGI but I am making a cluster myself and don’t have the money for PGI. I tested the code with PGI and with accuLL. They both give me expected output, but the timing of PGI went from 2 min to 10 seconds and accuLL was not noticable…
Thanks in advance and I hope this project is in for the long run. It is a great Idea to make a free compiler for OpenACC!!!!!
Hi Will,
Yes, we have the data construct and it should work with the 0.2 release. I am not sure of why you don’t see the performance improvement.
We are about to release the 0.3, which should fix some problems that we noticed with the 0.2, maybe you can try with the new one and see what happens?
Thanks for contacting us!
Thank you for such a quick reply. I will wait for the 0.3 release. I will also check the code to see if the code is correct. Is there somewhere I could post bugs. I would like to help because I will be using this a lot
Will: The new webpage is in http://ruyman.bitbucket.org/accull/ , and we have an issue tracker in https://bitbucket.org/ruyman/accull/issues/?kind=bug&status=open . The webpage is still in construction, but there is some useful information there already. Feel free to post bugs in the issue tracker!