remove duplicate code.
Merge 2 very similar class and just keep the old one.
Better printing of a optimizer
GPU conv opt refactoring to simplify the code.

Now only the legacy opt move to the GPU. Then we can apply opt in
order to get the behavior we want.