OP-DSL / OP2-Common

OP2: open-source framework for the execution of unstructured grid applications on clusters of GPUs or multi-core CPUs
https://op-dsl.github.io
Other
98 stars 47 forks source link

Adding validation for Aero application #196

Closed gihanmudalige closed 3 years ago

gihanmudalige commented 3 years ago

Adds a simple validation test to the Aero applications.

gihanmudalige commented 3 years ago

@reguly The validation fails currently, particularly the CUDA parallelizations of Aero seems to output 0.000 for the later outer iterations. We may also want to simply revert to the non-vector maps API given that its probably not well maintained in OP2. The code generator throws errors such as "Error parsing user kernel(res_calc): must have 17 arguments (instead it has 5)" due to this reason.

reguly commented 3 years ago

Looks like there is an issue with the atomics version. It does appear to work with the non-atomic version. Added an early exit to mpi_vec codegen. ETH guys seem to be using the vectorized args..

reguly commented 3 years ago

Fixed those too. Perhaps add a test.sh?

gihanmudalige commented 3 years ago

@reguly , great. I will add tests to the test_makefiles.sh

gihanmudalige commented 3 years ago

If the ETH people are using the vector args then we definitely should keep maintaining that.

gihanmudalige commented 3 years ago

I will accept the tolerance for validation. Most tests passed. But seems there is a compilation error with the current CUDA code generated (i.e. non-atomics version) for the reduction application.

I have added the aero tests which includes the validation. Will commit soon when the tests fully run through