I'm playing with ArBB and try to figure out how iterative solvers fit into ArBB model. CG works fine as expected and now I want to insert Gauss-Seidel preconditioner inside CG loop, which is obviously not vectorizable.
I figured out I can probably use bind() and read_write_range() to do Gauss-Seidel on an array outside ArBB, which I want to try tomorrow. However, I doubt this will work because call() should not recognize but drop my C operations. This leaves me with the solution of refining my code and inserting GS between call()s. Maybe, there is some uncall(fun)(arg1,arg2) function which remembers fun function pointer and runs fun(arg1,arg2) in place without ArBB machinery?