
SNPE
文章平均质量分 83
weixin_38498942
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
高通SNPE开发环境搭建(二)
高通SNPE开发环境搭建(二)5 安装 TensorFlow 和 Caffe5.1 安装 TensorFlow5.2 安装 Caffe5 安装 TensorFlow 和 Caffe5.1 安装 TensorFlow可能需要设置代理(如果有),否则有点慢,如在〜 /.bashrc 中添加下面的内容:export https_proxy=http://192.168.1.1:xxxx/export http_proxy=http://192.168.1.1:xxxx/export ftp_proxy原创 2021-02-04 09:39:41 · 1850 阅读 · 1 评论 -
高通SNPE开发环境搭建(一)
高通SNPE开发环境搭建(一)1 概述2 构建 Python 环境2.1 安装 pyenv2.2 安装 python 版本2.3 安装 ANACONDA3 SNPE SDK Setup3.1 下载 SDK3.2 SNPE SDK文件结构3.3 配置环境和依赖1 概述本文档介绍SNPE和SDK安装所需的工具设置。当前,SNPE SDK开发环境仅限于Ubuntu(特定版本)14.04、16.04甚至18.04。1.27.0之后,x86体系结构支持已从Ubuntu 14.04迁移到Ubuntu 16.04 O原创 2021-02-04 09:39:16 · 5863 阅读 · 1 评论 -
高通Adreno架构应用优化(2)
下面我们继续高通Adreno架构应用优化的内容。顶点着色器计算胜于片段着色器计算通常,顶点数显着小于片段数。通过将计算从片段着色器移动到顶点着色器,可以减少GPU的工作量。这有助于消除冗余计算。测量,测试和验证结果查找瓶颈对于优化应用程序是顶点绑定,片段绑定还是纹理获取绑定而言都是必需的。在尝试使代码更快之前,请先测量性能。使用工具进行这些测量,例如Snapdragon Profiler甚至是软件计时器。不要仅仅凭直觉就假定某些东西运行得更快。修改代码以使其表现更好时,它可以禁用更有益的编译器/硬件原创 2020-12-03 11:16:35 · 861 阅读 · 0 评论 -
高通Adreno架构应用优化(1)
本文开始介绍各种技巧,以帮助优化OpenGL ES应用程序和Adreno体系结构。初始化期间构建管道与构建Vulkan一样,着色器的编译和链接是一个耗时的过程。利用管道缓存并创建派生管道。使用内置内置函数是OpenGL ES着色语言规范的重要组成部分,应该始终优先于编写自定义实现。这些功能通常是针对特定的着色器配置文件和针对其的硬件功能进行了优化着色器已编译。结果,它们通常比任何其他实现都快。gl_VertexID和gl_InstanceID已按照GL_KHR_vulkan_glsl扩展名删除,但原创 2020-12-03 10:34:48 · 892 阅读 · 0 评论 -
高通Adreno Vulkan 开发(4)
了解开发者工具1. Snapdragon profiler改善3D应用程序的性能是一个具有挑战性的过程。如果没有适当的工具集,开发人员通常会发现他们尝试采用试错法来发现瓶颈或识别视觉故障的源头,从而迫使应用程序为每次尝试进行重建。这是一个耗时且麻烦的过程。开发人员很少访问应用程序发出的图形API命令的原始列表。这使优化过程变得棘手,因为开发人员通常可能了解和理解其应用程序的功能,但可能对渲染过程没有完全的了解。首先,渲染性能较差的原因通常不清楚。实时了解详细的GPU利用率,纹理缓存未命中或流水线停滞原创 2020-11-26 12:12:01 · 832 阅读 · 0 评论 -
高通Adreno Vulkan 开发(3)
FlexRender™(混合延迟和直接渲染模式)QTI作为Adreno 3x,4x和5x的一部分推出了其新的FlexRender解决方案。 FlexRender是指GPU在间接渲染(合并或延迟渲染)和直接渲染到帧缓冲区之间切换的能力。直接渲染和延迟渲染模式均具有优势。 Adreno 3x,4x和5xGPU旨在通过以动态方式在两种模式之间切换来最大化性能。 GPU通过分析给定渲染目标的渲染并自动选择模式来工作。基于图块的渲染为了优化低功耗和内存带宽受限设备的渲染,Adreno GPU使用基于图块的渲染架原创 2020-11-26 11:51:07 · 814 阅读 · 0 评论 -
高通Adreno Vulkan 开发(2)
下面继续介绍3D纹理除了2D纹理和立方体贴图外,还有一个批准的OpenGL ES 2.0扩展,用于3D纹理,称为GL_OES_texture_3D。 此扩展允许3D纹理初始化,并用于体积渲染。 这是从OpenGL ES 3.0开始的核心功能大纹理尺寸Adreno 330支持的最大纹理尺寸为8192x8192x8192。 根据内存的可用性,Adreno 420可以处理分辨率高达16384x16384x16384的纹理。sRGB纹理和渲染目标s RGB是由惠普和微软于1996年合作创建的标准RGB颜色原创 2020-11-19 15:10:51 · 518 阅读 · 0 评论 -
高通Adreno Vulkan 开发(1)
此图片摘自Qualcomm Technologies,Inc.的Advanced Content Graoup开发的Reign of Amira游戏演示。该演示正在使用Vulkan 1 API在Qualcomm Snapdragon 835设备上运行,并展示了一个基于物理渲染的交互式双射击竞技场游戏, Vulkan可以使用ASTC纹理压缩,高动态范围渲染,线性空间照明,动态阴影,光折射以及其他高端渲染技术。今天为大家带来基于Qualcomm®Adreno™GPU的平台开发和优化Vulkan应用程序的指南.原创 2020-11-19 15:06:23 · 1429 阅读 · 0 评论 -
高通SNPE - OpenCL简介(4)
Adreno OpenCL应用程序开发本文章将要简要讨论Adreno OpenCL应用程序的一些基本要求开发,然后介绍如何调试和分析应用程序。Android上的OpenCL应用程序开发目前,Adreno GPU主要在Android操作系统(OS)和更高版本上支持OpenCL。选择Linux系统。要开发与OpenCL一起运行的Android应用,开发人员需要获得熟悉Android软件开发套件(SDK)和本机开发套件(NDK)。请参阅https://developer.android.com/index.原创 2020-11-12 17:35:08 · 906 阅读 · 0 评论 -
高通SNPE - OpenCL简介(3)
标题波浪和纤维在Adreno GPU中,执行的最小单位称为光纤。一根光纤对应一根OpenCL中的工作项。总是以锁步执行的一组纤维称为波。SP一次可以容纳多个活动波。每波通常可以使独立前进,而不管其他浪潮的状态如何。注意:∎对于给定的GPU和内核,波长大小或波中的光纤数量通常是固定的。∎波大小的Adreno GPU的依赖于GPU系列和层以及编译器;值可以是8、16、32、64、128等。∎根据工作组的大小,一个工作组可以一次或多次执行。例如,如果工作组的大小小于或等于波浪,则一个波浪就足够了尺寸。通常原创 2020-11-12 17:27:29 · 860 阅读 · 0 评论 -
高通SNPE - OpenCL简介(2)
OpenCL的可移植性和向后兼容性程序可移植性作为严格定义的计算标准,OpenCL具有良好的程序可移植性。OpenCL的如果一个供应商的平台编写的应用程序应该在其他供应商的平台上运行良好,他们没有使用任何供应商专有或特定于平台的扩展或功能。Khronos的认证程序确保了OpenCL的程序可移植性,这要求OpenCL供应商在声称自己的平台通过了严格的一致性测试之前OpenCL“符合标准”。性能可移植性与程序可移植性不同,OpenCL性能通常不可移植。作为高级根据计算标准,OpenCL的硬件实现取决于供原创 2020-11-05 16:12:04 · 1078 阅读 · 0 评论 -
高通SNPE - OpenCL简介(1)
OpenCL背景和概述OpenCL由Khronos集团开发和维护,是一种开放且免版税的标准用于异构系统中的跨平台并行编程。它是帮助开发人员利用现代异构中可用的海量计算能力系统,极大地促进了跨平台的应用程序开发。高通®的Adreno TM上的Snapdragon平台GPU系列一直是最早移动的一个完全支持OpenCL的GPU之一。图中显示了支持OpenCL的典型异构系统。在这个系统中,主要分为三个部分:主机CPU本质上是一个命令器/主设备,用于管理和控制主机应用。多个OpenCL设备,包括GPU,D原创 2020-11-05 13:34:38 · 1688 阅读 · 0 评论 -
高通SNPE - 基准测试概述(4)
MobilenetSSD基准测试SNPE SDK支持Tensorflow版本和Caffe版本的MobilenetSSD模型。有关更多详细信息,请参见使用MobilenetSSD。对Mobilenet SSD进行基准测试需要对基准JSON配置文件以及数据输入列表进行一些补充。请遵循基准测试概述,以熟悉基准测试工具。我们假定您在以下示例文件中创建:/tmp/mobilenetssd.dlc-转换后的神经网络模型文件/tmp/mobilenetssd.json-基准配置文件/tmp/imageli原创 2020-10-28 19:55:27 · 925 阅读 · 0 评论 -
高通SNPE - 基准测试概述(3)
架构支持SNPE基准测试同时支持有Android ARM 32位和AARCH 64位。除Android外,对LinuxEmbedded的支持有限,其中仅支持计时的测量。将运行时Runtime和度量Measurement连接起来,以形成完整的运行组合名称,例如,“ GPU_timing”:GPU运行时,定时测量“ CPU_mem”:CPU运行时,内存测量这里请注意,对于每个指定的运行时,都有多组时序测量值,它们仅在张量格式上有所不同(使用ITensor和使用用户缓冲区)。例如,对于DSP运行时,原创 2020-10-28 19:24:08 · 2455 阅读 · 2 评论 -
高通SNPE - 基准测试概述(2)
下面我们来继续SNPE基准测试概述。CSV 1:配置这一部分包含有关以下内容的信息:用于生成基准运行的SDK版本型号名称和DLC文件的路径为基准测试选择的运行时等等CSV 2:初始化指标这一部分包含有关模型初始化的度量。分析级别会影响收集的测量值。没有收集用于分析的指标。基本指标和详细指标如下所示。分析级别:基本加载度量加载模型元数据所需的时间。反序列化测量反序列化模型缓冲区所需的时间。创建度量用于创建SNPE网络并初始化给定模型的所有层所花费的时间。可以将分析级别设置为“详细原创 2020-10-20 18:53:30 · 1146 阅读 · 1 评论 -
高通SNPE - 基准测试概述(1)
SNPE SDK附带的基准测试由一组python脚本组成,这些python脚本在目标Android / Linux嵌入式设备上运行网络并收集性能指标。它使用SDK包中的可执行文件和库,使用网络的一组输入和指向该输入组的文件在目标上运行DLC文件。基准脚本的输入是JSON格式的配置文件。该SDK附带有一个配置文件,用于运行SNPE SDK中创建的AlexNet模型。鼓励SDK用户创建自己的配置文件,并使用基准脚本在目标上运行以收集计时和内存消耗度量。该配置文件允许用户指定:基准测试的名称(即AlexN原创 2020-10-20 18:50:56 · 1945 阅读 · 1 评论