Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
tensorflow
提交
45573542
T
tensorflow
项目概览
xxadev
/
tensorflow
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
tensorflow
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
45573542
编写于
11月 29, 2018
作者:
D
David Majnemer
提交者:
TensorFlower Gardener
11月 29, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[XLA] Add support for iota of PRED
PiperOrigin-RevId: 223413074
上级
cac33744
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
2 deletion
+25
-2
tensorflow/compiler/xla/service/elemental_ir_emitter.cc
tensorflow/compiler/xla/service/elemental_ir_emitter.cc
+4
-2
tensorflow/compiler/xla/tests/iota_test.cc
tensorflow/compiler/xla/tests/iota_test.cc
+21
-0
未找到文件。
tensorflow/compiler/xla/service/elemental_ir_emitter.cc
浏览文件 @
45573542
...
...
@@ -2245,13 +2245,15 @@ llvm_ir::ElementGenerator ElementalIrEmitter::MakeElementGenerator(
:
iota
->
shape
();
PrimitiveType
component_element_type
=
component_shape
.
element_type
();
llvm
::
Value
*
iota_result
;
if
(
ShapeUtil
::
ElementIsIntegral
(
component_shape
))
{
if
(
primitive_util
::
IsIntegralType
(
component_element_type
)
||
component_element_type
==
PRED
)
{
iota_result
=
b_
->
CreateIntCast
(
elem_index_linear
,
llvm_ir
::
PrimitiveTypeToIrType
(
component_element_type
,
module_
),
/*isSigned=*/
false
);
}
else
{
TF_RET_CHECK
(
ShapeUtil
::
ElementIsFloating
(
component_shape
))
TF_RET_CHECK
(
primitive_util
::
IsFloatingPointType
(
component_element_type
))
<<
component_element_type
;
llvm
::
Type
*
float_ir_type
;
if
(
component_element_type
==
BF16
)
{
...
...
tensorflow/compiler/xla/tests/iota_test.cc
浏览文件 @
45573542
...
...
@@ -113,5 +113,26 @@ INSTANTIATE_TEST_CASE_P(IotaR3TestInstantiation, IotaR3Test,
/*step=*/
10
),
::
testing
::
Values
(
0
,
1
,
2
)));
class
IotaR3PredTest
:
public
ClientLibraryTestBase
,
public
::
testing
::
WithParamInterface
<
int
>
{};
TEST_P
(
IotaR3PredTest
,
DoIt
)
{
const
auto
element_type
=
PRED
;
const
int64
num_elements
=
2
;
const
int64
iota_dim
=
GetParam
();
XlaBuilder
builder
(
TestName
()
+
"_"
+
PrimitiveType_Name
(
element_type
));
std
::
vector
<
int64
>
dimensions
=
{
42
,
19
};
dimensions
.
insert
(
dimensions
.
begin
()
+
iota_dim
,
num_elements
);
Iota
(
&
builder
,
ShapeUtil
::
MakeShape
(
element_type
,
dimensions
),
iota_dim
);
if
(
primitive_util
::
IsFloatingPointType
(
element_type
))
{
ComputeAndCompare
(
&
builder
,
{},
ErrorSpec
{
0.0001
});
}
else
{
ComputeAndCompare
(
&
builder
,
{});
}
}
INSTANTIATE_TEST_CASE_P
(
IotaR3PredTestInstantiation
,
IotaR3PredTest
,
::
testing
::
Values
(
0
,
1
,
2
));
}
// namespace
}
// namespace xla
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录