Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_76559479
Paddle
提交
954be40d
P
Paddle
项目概览
2301_76559479
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
954be40d
编写于
11月 03, 2022
作者:
S
sneaxiy
提交者:
GitHub
11月 03, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix gemm compute_type (#47613)
上级
b8ae3858
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
1 deletion
+9
-1
paddle/phi/kernels/funcs/blas/blas_impl.cu.h
paddle/phi/kernels/funcs/blas/blas_impl.cu.h
+9
-1
未找到文件。
paddle/phi/kernels/funcs/blas/blas_impl.cu.h
浏览文件 @
954be40d
...
@@ -1452,7 +1452,11 @@ void Blas<phi::GPUContext>::BatchedGEMM(CBLAS_TRANSPOSE transA,
...
@@ -1452,7 +1452,11 @@ void Blas<phi::GPUContext>::BatchedGEMM(CBLAS_TRANSPOSE transA,
<<
FLAGS_gemm_use_half_precision_compute_type
;
<<
FLAGS_gemm_use_half_precision_compute_type
;
auto
fp
=
std
::
is_same
<
T
,
float
>::
value
?
CUDA_R_32F
:
CUDA_R_16F
;
auto
fp
=
std
::
is_same
<
T
,
float
>::
value
?
CUDA_R_32F
:
CUDA_R_16F
;
cudaDataType_t
compute_type
=
CUDA_R_32F
;
#if CUDA_VERSION >= 11000
auto
compute_type
=
CUBLAS_COMPUTE_32F
;
#else
auto
compute_type
=
CUDA_R_32F
;
#endif
float
h_alpha
=
static_cast
<
float
>
(
alpha
);
float
h_alpha
=
static_cast
<
float
>
(
alpha
);
float
h_beta
=
static_cast
<
float
>
(
beta
);
float
h_beta
=
static_cast
<
float
>
(
beta
);
...
@@ -1463,7 +1467,11 @@ void Blas<phi::GPUContext>::BatchedGEMM(CBLAS_TRANSPOSE transA,
...
@@ -1463,7 +1467,11 @@ void Blas<phi::GPUContext>::BatchedGEMM(CBLAS_TRANSPOSE transA,
std
::
is_same
<
T
,
phi
::
dtype
::
float16
>::
value
)
{
std
::
is_same
<
T
,
phi
::
dtype
::
float16
>::
value
)
{
a
=
static_cast
<
void
*>
(
&
alpha
);
a
=
static_cast
<
void
*>
(
&
alpha
);
b
=
static_cast
<
void
*>
(
&
beta
);
b
=
static_cast
<
void
*>
(
&
beta
);
#if CUDA_VERSION >= 11000
compute_type
=
CUBLAS_COMPUTE_16F
;
#else
compute_type
=
CUDA_R_16F
;
compute_type
=
CUDA_R_16F
;
#endif
}
}
context_
.
TensorCoreCublasCallIfAvailable
([
&
](
cublasHandle_t
handle
)
{
context_
.
TensorCoreCublasCallIfAvailable
([
&
](
cublasHandle_t
handle
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录