在NVIDIA(CUDA,CUBLAS)和Intel MKL上快速实现BERT推理

文章介绍了如何在NVIDIA CUDA和Intel MKL平台上实现快速的BERT推理,无需依赖tensorflow。内容包括基准测试环境、混合精度加速、API说明、构建与安装流程,以及线程管理和GPU/CPU的并行处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在NVIDIA(CUDA,CUBLAS)和Intel MKL上快速实现BERT推理
直接在NVIDIA(CUDA,CUBLAS)或Intel MKL上进行高度定制和优化的BERT推理,而无需tensorflow及其框架开销。
仅支持BERT(转换器)。
基准测试
环境
• Tesla P4
• 28 * Intel® Xeon® CPU E5-2680 v4 @ 2.40GHz
• Debian GNU/Linux 8 (jessie)
• gcc (Debian 4.9.2-10+deb8u1) 4.9.2
• CUDA: release 9.0, V9.0.176
• MKL: 2019.0.1.20181227
• tensorflow: 1.12.0
• BERT: seq_length = 32
在这里插入图片描述

注意:应该在下面运行MKLOMP_NUM_THREADS=?来控制其线程号。其他环境变量及其可能的值包括:
• KMP_BLOCKTIME=0
• KMP_AFFINITY=granularity=fine,verbose,compact,1,0
混合精度
NVIDIA Volta和Turing GPU上的Tensor Core 和Mixed Precision可以加速cuBERT 。支持混合精度作为存储在fp16中的变量,并在fp32中进行计算。与单精度推理相比,典型的精度误差小于1%,而速度则达到了2倍以上的加速度。
API
API .h标头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值