- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
似乎没有关于这两个函数的文档。__float2half
有什么区别和 __float2half_rn
?
最佳答案
看来 CUDA 文档在这里确实有点不足。
函数unsigned short __float2half_rn(float)
结合 float __half2float(unsigned short x)
在新 half
之前已经存在于 CUDA 中数据类型是在 CUDA 7.5 中引入的。
它在 device_functions.h
中定义.那里的评论写道:
Convert the single-precision float value x to a half-precision floating point value represented in unsigned short format, in round-to-nearest-even mode.
half __float2half(float)
在
cuda_fp16.h
中定义并且显然相同,但返回
half
:
Converts float number a to half precision in round-to-nearest mode.
half
是对
unsigned short
的 typedef ,我检查了他们是否也这样做,使用以下代码:
#include <stdio.h>
#include "cuda_fp16.h"
#include "device_functions.h"
__global__ void test()
{
// auto test = __float2half( 1.4232 );
auto test = __float2half_rn( 1.4232 );
printf( "%hu\n", test );
}
int main()
{
test<<<1,1>>>();
cudaDeviceSynchronize();
}
sm_20
)旧的
__float2half_rn()
有一个额外的 int16 到 int32 操作并执行 32 位存储。另一方面,
__float2half_()
没有这种转换,并进行 16 位存储。
__float2half_rn()
的相关SASS代码:
/*0040*/ I2I.U32.U16 R0, R0;
/*0050*/ STL [R2], R0;
__float2half()
:
/*0048*/ STL.U16 [R2], R0;
关于cuda - 半精度 : Difference between __float2half vs __float2half_rn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35198856/
所以我正在运行 MySQL 5.1.4 版,我试图通过四舍五入的值来选择 distinct,它工作得很好,除了它把数字四舍五入,比如 12.5 到 12 而不是 13。我试过的列都是double型的。
我正在尝试解决 Media Player seekTo() 方法的问题,该方法在前进/后退远程按钮按下事件时被调用,但出现此错误: 使用以下经过编辑的 smali 尝试将 long 参数转换为 int
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我想在我的网络中做最大池化,像这样: 我的网络是一维的(你可以认为上面的例子是一个句子有 6 个词,而每个词有 3 个嵌入)我不知道特征的长度(不是每个句子都有相同的长度),所以我不能' t 在 tf
好的,所以如果一个字节是 8 位,那么半字节就是 4 位。并且您可以将四分之一字节作为 2 位(尽管我想,如果有的话,它会被称为双位)。 虽然这是一致的,但如果我使用这个词,有人会感到困惑(或惊讶)吗
我有一个简单的算法,可以清除从半个字符串到末尾的空格。这是: char a[] = "abc "; /* The string to string to trim. */ printf
据我所知,在 Linux 中有许多机制可以实现 bottom-halves: 软中断 任务 工作队列 线程中断 ( request_threaded_irq() ) 它们在可调度性方面都有自己的特点。
请看下图: 客户端发起半关闭请求并得到确认,如果我没有误解什么是半关闭,客户端应该不能发送之后的任何数据,那么它如何发送回来ACK 之后。 最佳答案 发送的不是客户端数据,它是在客户端执行shutdo
这似乎是一个基本问题,我不知道以前是否有人问过它: 我有这个if脚本中的语句: if (date('H') closing) { 基本上它是一个商业脚本。这与商店何时关门有关。 6点、7点等 该变量
谁能告诉我如何使右上 容器和右下 容器具有相同的高度并将红色容器垂直拆分50-50%。不管里面的内容是什么。我尝试拉伸(stretch)内容并将它们包裹起来,同时保持 flex-direction:
我一直在 flutter 中摆弄列表,一切都很好。我开始理解整件事的逻辑。 现在我想做一个像这样的简单布局: 我的问题是我找不到制作第一行的方法。我试图告诉 Row 让它的两个 child 分一半,不
我有一个非常简单的布局,我无法让它看起来像我想要的那样。这是一个带有按钮和开关的线性布局。我希望它们显示在另一个之上,但我希望它们的宽度是父布局的一半。 |--LinearLayout--------
我们被困在一个(不幸的是)使用浮点数而不是十进制值的数据库中。这使得四舍五入有点困难。考虑以下示例(SQL Server T-SQL): SELECT ROUND(6.925e0, 2) -->
我的图表显示不正确,下面是它的显示方式和假定的显示方式: 显示方式: 它的样子: 我的html代码: 我的 typescript 组件代码: var data = { dat
我需要对数字进行“半舍入”并保留 (.5),例如: 如果数字 = (9115.7) 则 (9116) 如果数字 = (9115.5) 则 (9115.5) 如果数字 = (9115.3) 则 (911
Game Boy Z80 CPU 有一个半进位标志,我似乎找不到太多关于何时设置/清除它的信息。 到目前为止我所理解的是,任何 8 位加、减、移位或旋转操作(可能还有其他操作?)将其设置为结果的第 4
这两个公式有什么区别 mid = low + (high - low) / 2; mid = (high + low) / 2; 最佳答案 在第二版中,如果high + low大于int的最大值(假设
我意识到该网站上回答了类似的问题,但我无法从这些问题中找到解决方案。例如,我的网站上有 10,000 个帖子,每个帖子都有 50 条评论。我应该创建 1.一张表有 500.000 行(评论) 或 2
MTKView 的默认颜色格式是 bgra8Unorm。我更喜欢使用 half 格式(参见:OpenEXR)。我不清楚 Metal 提供的各种格式中的哪些对应于 half? 最佳答案 你应该使用 rg
让我先展示这个网页的代码,然后试着解释我的问题。 h1 { border: solid; padding-top: 0px; margin-top: 0px; } body { pad
我是一名优秀的程序员,十分优秀!