nvJPEG

GPU加速的JPEG解码器,编码器和代码转换器

nvJPEG库是高性能的GPU加速库,用于解码,编码和转码JPEG格式的图像。nvJPEG2000库用于解码JPEG 2000格式的图像。与仅CPU解码相比,依赖nvJPEG或nvJPEG2000进行解码的应用程序,可提供更高的吞吐量和更低的延迟。

nvJPEG

nvJPEG库为计算机视觉应用中使用的常见JPEG格式(例如图像分类,对象检测和图像分割)提供低延迟解码,编码和转码。

nvJPEG主要功能

  • 同时使用CPU和GPU的混合解码
  • 在A100 GPU上进行基线JPEG解码的硬件加速
  • 单张图像和批量图像解码
  • 单相和多相解码
  • 色彩空间转换为RGB,BGR,RGBI,BGRI和YUV
  • 库的输入位于主机内存中,输出位于GPU内存中
  • 用户为设备提供的内存管理器和固定的主机内存分配

nvJPEG性能

多线程解码速度

与V100和仅CPU解码相比,A100上的硬件解码可实现加速。

处理器:Intel Xeon Platinum 8168 @ 2GHz 3.7GHz Turbo(Skylake)HT On

编码速度

针对常见图像尺寸和格式,CPU与V100和A100 GPU之间的JPEG基线编码吞吐量比较。

处理器:Intel Xeon Platinum 8168 @ 2GHz 3.7GHz Turbo(Skylake)HT On


nvJPEG2000

nvJPEG2000库适用于在深度学习,医学成像,数字病理学,遥感和数字电影应用等领域的研究中使用JPEG 2000格式图像的应用程序开发人员和研究人员。nvJPEG2000从CPU内存读取和解码JPEG 2000格式的图像数据。解码后的输出在GPU内存中。该库依赖于CPU和GPU进行解码。

nvJPEG2000的主要功能

  • 输出格式:具有任意宽度和高度的灰度和彩色图像
  • 压缩技术:有损(小波CDF 9/7)和无损(小波CDF 5/3)图像压缩和解压缩
  • 支持jp2文件格式和jpeg2000代码流

nvJPEG2000性能

4倍更快的无损解码

无损:5-3小波变换

处理器:Intel Xeon Gold 6240 @ 2GHz 3.9GHz Turbo(Cascade Lake)HT On

7倍更快的有损解码

有损:9-7小波变换

处理器:Intel Xeon Gold 6240 @ 2GHz 3.9GHz Turbo(Cascade Lake)HT On

nvJPEG库的更多相关文章

  1. 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库

    在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...

  2. NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库

    NVIDIA A100 GPUs上硬件JPEG解码器和NVIDIA nvJPEG库 Leveraging the Hardware JPEG Decoder and NVIDIA nvJPEG Lib ...

  3. nvJPEG Codec库

    nvJPEG Codec库 nvJPEG库是高性能的GPU加速库,用于解码,编码和转码JPEG格式的图像.nvJPEG2000库用于解码JPEG 2000格式的图像.与单CPU解码相比,依赖nvJPE ...

  4. 在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据

    在NVIDIA A100 GPU中使用DALI和新的硬件JPEG解码器快速加载数据 如今,最流行的拍照设备智能手机可以捕获高达4K UHD的图像(3840×2160图像),原始数据超过25 MB.即使 ...

  5. 用NVIDIA A100 GPUs提高计算机视觉

    用NVIDIA A100 GPUs提高计算机视觉 Improving Computer Vision with NVIDIA A100 GPUs 在2020年英伟达GPU技术会议的主题演讲中,英伟达创 ...

  6. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  7. TinyWeb v1.0 正式完成第一个Release版本(功能基于 libuv 跨平台库)

    使用方法很简单,很容易融入现有项目,使现有项目拥有Web网站功能和WebSocket,以及Socket直连! 并且包含了一个跨平台(windows/linux)工具集合; 嗯,也挺棒的^,^ 在项目中 ...

  8. 在 Laravel 中使用图片处理库 Integration/Image

    系统需求 PHP >= 5.3 Fileinfo Extension GD Library (>=2.0) … or … Imagick PHP extension (>=6.5.7 ...

  9. [APUE]标准IO库(下)

    一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...

随机推荐

  1. 1-OSI七层模型

    网络功能:数据传输 ISO(国际标准化组织) OSI七层模型---->网络通信工作流程的标准化 OSI七层模型 应用层:提供用户服务,具体功能由特定的程序而定. 表示层:数据的压缩优化,加密. ...

  2. 《机器学习Python实现_10_09_集成学习_bagging_stacking原理及实现》

    介绍 前面对模型的组合主要用了两种方式: (1)一种是平均/投票: (2)另外一种是加权平均/投票: 所以,我们有时就会陷入纠结,是平均的好,还是加权的好,那如果是加权,权重又该如何分配的好?如果我们 ...

  3. Windows中的权限设置、文件压缩、文件加密、磁盘配额和卷影副本

      目录 权限设置 文件夹的NTFS权限 文件的NTFS权限 NTFS权限的应用规则 文件压缩 文件加密 磁盘配额 卷影副本 权限设置的应用 遇到的一个权限问题的小bug 权限问题的实际应用 权限设置 ...

  4. (Py练习)判断101-200之间的素数个数并输出

    判断素数的方法之一:用一个数分别去除以2到squrt(这个数),如果能被整除,则不是素数. import math h = 0 leap = 1 for m in range(101, 201): k ...

  5. Redis6.x学习笔记(二)持久化之RDB

    前言 最近学习Redis6.x,特做笔记以备忘,与大家共学.课程是从私塾在线下载的,他们把架构师课程都放出来了,大家可以去下载学习,不要钱的,地址是http://t.hk.uy/eK7,课程很不错,值 ...

  6. Blazor实现未登录重定向到登录页的方法

    今天研究了一下blazor,发现他默认启动就是类似于后台管理系统的界面,看到这个页面我就想给他写个登录,有登录就涉及到未登录重定向的问题,但是我没有找到blazor全局路由的设置,知道的老哥可以告诉我 ...

  7. linux远程下载文件 的两种方法之 ftp命令和scp命令

    ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载. 1. 连接ftp服务器  格式:ftp [hostname| ip-ad ...

  8. 如何通过在线CRM提升企业竞争力?

    随着信息技术的快速发展,在线CRM系统也得到了更加广泛的应用,已经在企业中逐渐开始普及.CRM系统对于优化企业流程有着十分重要的意义,它能够让企业的经营管理更加敏捷,并且可以快速地响应企业的业务流程. ...

  9. 读HikariCP源码学Java(一)-- 通过ConcurrentBag类学习并发编程思想

    前言 ConcurrentBag是HikariCP中实现的一个池化资源的并发管理类.它是一个高性能的生产者-消费者队列. ConcurrentBag的并发性能优于LinkedBlockingQueue ...

  10. docker容器与容器的关联

    可以通过docker run -it -d --link 容器id 镜像id   方式关联 例如,将springboot项目容器与mysql容器相互关联,让springboot容器可以访问到mysql ...