Even though AQUAgpusph-2.1 turned into a stable version several months ago, now, after fixing a lot of minor bugs and typos, it is released as a new stable version!
One of the main target of AQUAgpusph is the possibility to compute confident enough pressure values.
In this line the standard deviation of the interpolation process has been implemented in AQUAgpusph. Hence now you have a mean value, and a measurement of the dispersion of the data near to the sensor.
It could be extremely useful to get high quality pressure records:
In the previous figure the pressure computed in a simulation of the validation test number 10 of the SPHERIC benchmark is compared with the experimental results.
This new feature can be found in the unstable 1.5 branch of the code.
As I reported some weeks ago, I’m working in the code optimization. To do it I implemented the following changes:
- Now all the data (including the output one) is sorted before compute the interactions
- Hence the permutations vectors are not needed anymore in the interactions stage
- Some useless output data have been removed
- The registers pressure have been optimized
Let’s say goodbye to more than 10% of the simulation time!
For the moment the optimized version can be found in the optimization branch of the git repository.
P.S. I performed this work with CodeXL by AMD, basically due to NVidia suddenly decided to remove the OpenCL support in the profiler in CUDA 5.
NVidia is expending a lot of resources trying to destroy OpenCL, while AMD is beating them in the hardware side (the real world).
I just hope NVidia people change it’s direction before they reach the final which are deserving.
Also CodeXL is free!
With the last changes implemented in the code the registries pressure during the interactions computations has been dramatically increased, which reduces the computation device occupancy.
This performance lost is my next target to fix (partially at least)…
As it was announced here, the new Input/Output interface has been merged into the master branch, and it is ready to work.
In an user point of view several advantages could be considered:
- More intuitive XML input.
- XML backup saved in all the printed frame (so the simulation can be continued).
- Per fluid output files.
But the main benefits are for the developers due to now several base classes may be used and new readers/writers could be easily registered.
Anyway some work must be done, like moving the reports stuff which still be inside the server.
A new input/output interface is coming… Following it’s features:
- An easy way to implement new loaders/savers
- Improved XML input
- Capability to save the XML case definition (which allows to continue the simulation from the last saved file)
- H5Part cleared
- Improved the post-processing with Paraview (including tools to fix the errors with the locale options)
Actually it is in development in the input_output branch, but hopefully it will be merged soon
Instead of using a home made math expressions evaluator I moved to the GNU library libmatheval. This change imply more robustness and less maintenance.
Now I can improve the input-output layer (which needs a simple layer to create savers/loaders)