added viennacl dot and made it easy to call explicit backend dot