I suppose printf/assert is fine with pocl. 

We have avoided it to be able to run the same test bench with different drivers without need for each driver to support printf (I've heard that some GPU drivers does not support them, haven't tested myself though). Only possible problem I could think of with pocl would be the case if pocl is ported to backend which does not support printf.

Passing arguments is more fundamental requirement at least for our memory protection case where lots of things depends on passed arguments. I would imagine that there could be other regressions found related to kernel arguments.

In other two projects I have tried two different ways of giving buffers from cmd line. I just give buffer type, element count and address space (in case of local buffer) and initialize elements from 0..<buffer elements>. That has been good enough for our cases.