Julia中浮点运算的速度

Julia中浮点运算的速度,julia,Julia,我发现矩阵向量积中Float32矩阵的速度比Float64矩阵快两倍。我试图将精度进一步降低到Float16,希望能获得更快的速度,但性能比Float64差得多。目前,Julia通过转换为Float32然后再转换回来来执行大多数Float16操作。这也意味着它不能使用BLAS来进行矩阵运算,而是使用一般的回退。也就是说,我认为Float16可能会与Julia一起在GPU上生成高效的代码。我知道现代体系结构不喜欢半个字,但这更像是一种一般性的说法。你可能想为你的问题添加更多的细节,也可能是一个小的

我发现矩阵向量积中Float32矩阵的速度比Float64矩阵快两倍。我试图将精度进一步降低到Float16,希望能获得更快的速度,但性能比Float64差得多。

目前,Julia通过转换为
Float32
然后再转换回来来执行大多数
Float16
操作。这也意味着它不能使用
BLAS
来进行矩阵运算,而是使用一般的回退。也就是说,我认为
Float16
可能会与Julia一起在GPU上生成高效的代码。

我知道现代体系结构不喜欢半个字,但这更像是一种一般性的说法。你可能想为你的问题添加更多的细节,也可能是一个小的基准。事实上,这里的问题到底是什么?您是否尝试过使用不同长度寄存器的机器?浮点乘法性能在很大程度上取决于您的硬件。现代硬件支持32位和64位浮点,但不支持16位。所以Float16将是一个软件实现。耸肩继续。应该注意的是,这是因为当前的CPU不支持Float16,所以无法在CPU上的硬件中执行Float16操作。另一方面,GPU具有本机Float16,在它们上的操作将快得多。