Vlasov5 not matching matlab
Here is the output of running Vlasov5 (the case we want to use for the NVIDIA demo) from the matlab ...
On the reference branch run 11 time steps of the matlab (lev=5,deg=3,explicit) ...
fk6d(Vlasov5,5,3,.1)
And then let's run the C code (built with cmake -DWITH_CUDA=1 -DCMAKE_CXX_COMPILER=mpiCC -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_FLAGS=-O3 ../
on fusiont5) with the following include/control.hpp
...
#pragma once
//these have no meaning if you run with -r reference switch - that's always on CPU
#define USE_GPU
//below must be undefined if you don't use GPU
#define USE_MAGMA
First with the reference branch (shows an error that looks like a left-right offset) ...
./fk6d -p 3 -l 5 -d 3 -n 11 -w 1 -r
Second with the explicit optimized version (shows a rather difference df)
./fk6d -p 3 -l 5 -d 3 -n 11 -w 1
Third with the implicit optimized version ()
./fk6d -p 3 -l 5 -d 3 -n 11 -w 1 -i
So, in summary ... the implicit and explicit optimized versions agree. However, neither agree with the reference implementation, and that is close, but not quite in agreement with the matlab.
And let the bug chasing begin (again) ...