我大量使用numpy& tenordot for big tensors。现在,我需要提高计算的精度 - 这就是为什么我必须在计算中用96位longfloat替换64位浮点数。不幸的是,这对性能产生了巨大影响。虽然我直觉地预计这种新型的速度损失为4倍,但我必须意识到真正的速度损失是200倍。看来BLAS库分别是MKL(我可以访问多个服务器)不是能够很好地处理这种类型。
你知道一种快速张量或高精度矩阵乘法的方法吗?我已经看过Cython了,但是我获得与BLAS和MKL类似表现的简单方法都失败了。我不是C的专家 - 所以也许有一个合适的图书馆。但据我所知,他们都使用BLAS或MKL。因此,我预计会有一些速度损失。
另一方面,如果无法避免速度损失,是否有一个真正使用128位而不仅仅是96位的Cython方法,就像所谓的" float128" numpy呢?