tools
文章平均质量分 89
weixin_38498942
这个作者很懒,什么都没留下…
展开
-
AIMET API 文档(5)
PyTorch 跨层均衡的 AIMET 功能具有 3 个功能 -批量标准化折叠跨层缩放高偏置折叠如果用户想要修改跨层均衡的顺序,而不是使用某些功能或手动调整需要均衡的层列表,可以使用以下 API。更高级别的 API 可用于依次使用一个或多个功能。它会自动找到要折叠或缩放的图层。较低级别的 API 可用于手动调整要折叠的层列表。用户必须按照层在模型中出现的正确顺序传递层列表。原创 2023-09-20 14:11:05 · 340 阅读 · 0 评论 -
AIMET API 文档(4)
量化方案枚举量化方案的枚举对于张量,根据传递的百分位值选择调整后的最小值和最大值。量化编码是使用调整后的最小值和最大值来计算的。对于张量,张量的绝对最小值和最大值用于计算量化编码。对于张量,搜索并选择最小化量化噪声的最佳最小值和最大值。使用选定的最小值和最大值计算量化编码。对于张量,编码值使用 post_training_tf_enhanced 方案进行初始化。然后,在训练期间学习编码。对于张量,编码值使用 post_training_tf 方案进行初始化。然后,在训练期间学习编码。量化方案枚举。原创 2023-09-20 14:10:45 · 611 阅读 · 0 评论 -
AIMET API 文档(3)
它检查模型对权重和激活量化的敏感性,执行每层敏感性和 MSE 分析。在这种情况下,这是由于日志中的原因#2,其中该层已被定义为前向函数中的函数。在这种情况下,validate_for_reused_modules 检查通知 relu1 模块在模型中被多次使用。AIMET 提供了模型验证器实用程序来帮助检查 AIMET 功能是否可以应用于 Pytorch 模型。在本节中,我们将介绍未通过验证检查的模型,并展示如何运行模型验证器,以及如何修复模型以使验证检查通过。QuantAnalyzer 工具提供。原创 2023-09-20 14:10:27 · 191 阅读 · 0 评论 -
AIMET API 文档(2)
在符号跟踪中,叶模块显示为节点而不是被跟踪,并且所有标准 torch.nn 模块都是默认的叶模块集。但可以通过重写 Tracer.is_leaf_module() API 来更改此行为。AIMET 模型准备器 API 公开了“module_to_exclude”参数,该参数可用于防止跟踪某些模块。原创 2023-09-20 14:10:02 · 234 阅读 · 0 评论 -
AIMET API 文档(1)
当使用激活函数和其他无状态层时,PyTorch 将允许用户。原创 2023-09-20 14:09:33 · 260 阅读 · 0 评论 -
向 Android 应用程序添加 HDR 视频功能
最新的 Android 设备具有强大的移动计算和丰富的媒体功能,其中高动态范围(HDR)的超高质量视频是最吸引人的功能之一。然而,由于 SDR 仍然是一种重要的格式,用户需要无缝体验来与其他用户的 SDR 设备以及社交媒体网站等外部系统共享 HDR 内容(例如,一些社交媒体网站支持 HDR 从标准 8 扩展)位 JPEG)。借助它,您可以在运行时查询设备功能,并提供可选的代码路径,以便在受支持的设备(例如由Snapdragon 移动平台提供支持的设备)上充分利用 HDR。然后,会话对象可用于预览和录制。原创 2023-09-05 18:11:29 · 714 阅读 · 0 评论 -
Hexagon TRACE32 使用指南(5)
Hexagon TRACE32 使用指南(5)原创 2023-04-06 11:42:03 · 1508 阅读 · 0 评论 -
Hexagon TRACE32 使用指南(4)
Hexagon TRACE32 使用指南(4)原创 2023-04-06 11:41:23 · 425 阅读 · 0 评论 -
Hexagon TRACE32 使用指南(3)
Hexagon TRACE32 使用指南(3)原创 2023-04-06 11:40:49 · 364 阅读 · 0 评论 -
Hexagon TRACE32 使用指南(2)
Hexagon TRACE32 使用指南(2)原创 2023-04-06 11:40:14 · 368 阅读 · 0 评论 -
Hexagon TRACE32 使用指南(1)
Hexagon TRACE32 使用指南(1)原创 2023-04-06 11:39:26 · 976 阅读 · 0 评论 -
MSDC 4.3 接口规范(20)
如果MSDC不能启用信号电平通知,MSDC API会以networkServiceError()和errorcodeERROR_NW_ UNABLE_TO_ENABLE_SIGNAL_LEVEL进行响应。如果MSDC无法禁用信号电平通知,MSDC API会以networkServiceError()和错误代码ERROR_NW_UNABLE_TO_DISABLE_SIGNAL_LEVEL作出响应。为了关闭与MSDC网络模块的连接,应用程序使用terminateNetworkService()。原创 2022-10-27 16:30:37 · 666 阅读 · 0 评论 -
MSDC 4.3 接口规范(19)
在terminateFileDeliveryService()中,应用程序可以重新定义注册生存时间的值(见5.3.2节)。如果应用程序不想改变initializeFileDeliveryService()定义的注册生存时间值,它可以在terminateFileDeliveryService()调用中使用一个NULL值作为超时参数。要停止从MSDC的文件传递模块获取事件,应用程序必须使用removeFileDeliveryEventListener()删除它先前添加的事件监听器(见5.3.1节)。原创 2022-10-27 11:24:39 · 850 阅读 · 0 评论 -
MSDC 4.3 接口规范(18)
serviceHandleList是流媒体服务的列表,这些服务在该组的serviceAreaIdList中列出的服务区是可用/有效的。serviceHandleList是文件传送服务的列表,这些服务在该组的serviceAreaIdList中列出的服务区是可用/有效的。如果应用程序请求一个特定文件URI的状态,返回的地图将根据请求的文件URI和服务ID进行过滤。返回值有服务的列表和相应的服务ID。要获得已经被文件传递服务下载的可用文件的列表,应用程序应该使用getAvailableFileList()。原创 2022-10-27 11:08:52 · 361 阅读 · 0 评论 -
Hexagon_V65_Programmers_Reference_Manual(2)
本章介绍Hexagon处理器的寄存器。通用寄存器 控制寄存器通用寄存器用于所有通用计算,包括地址生成和标量及向量算术。控制寄存器支持特殊用途的处理器功能,如硬件循环和谓词。Hexagon处理器有32个32位通用寄存器(命名为R0至R31)。这些寄存器用于存储几乎所有指令中的操作数。加载/存储指令的内存地址 算术/逻辑指令的数据操作数 矢量指令的矢量操作数比如说R1 = memh(R0)R4 = add(R2,R3)R28 = vaddh(R11,R10)图2-1显示了一般的寄存器。Al原创 2022-07-14 15:26:07 · 326 阅读 · 0 评论 -
Hexagon_V65_Programmers_Reference_Manual(1)
高通公司HexagonTM处理器是一种通用的数字信号处理器,旨在为各种多媒体和调制解调器应用提供高性能和低能耗。V65是第六代Hexagon处理器架构中的一员。■存储器程序代码和数据存储在一个统一的32位地址空间。加载/存储架构支持一套完整的寻址模式,用于编译器代码生成和DSP应用编程。■寄存器32个32位通用寄存器可以作为单个寄存器或作为64位寄存器对被访问。通用寄存器保存所有的数据,包括标量、指针和打包的矢量数据。■数据类型指令可以对定点或浮点数据进行各种各样的操作。定点操作支持各种大小的标量原创 2022-07-14 14:35:14 · 925 阅读 · 1 评论 -
B_QuRT_User_Guide(41)
QuRT实时操作系统定义了一个回调函数,使用户可以在某些QuRT系统事件中执行特定的程序操作。注意:这些回调函数只有在其符号名被定义为程序代码中的函数时才会被调用。- 启用该功能的目的是为了使程序的运行更加流畅。设置回调参数。由向根进程驱动注册回调的实体调用此函数。这设置了执行回调时传递给回调函数的参数。参数返回值None.依赖项None.设置回调函数。由向根进程驱动注册回调的实体调用这个函数。这设置了回调函数,在回调执行时执行。相关的数据类型qurt_cb_data_t参数返回值N原创 2022-07-14 14:05:03 · 351 阅读 · 0 评论 -
B_QuRT_User_Guide(38)
线程使用性能监控器在用户程序执行期间实时测量代码性能。性能监控单元(PMU)是Hexagon处理器的一个硬件功能。它是通过访问一组专用的处理器寄存器来控制的。性能监测器在QuRT中通过以下操作进行控制。- qurt_pmu_enable()启用或禁用Hexagon处理器性能监控单元(PMU)。默认情况下,剖析功能是禁用的。默认情况下禁用。注意:启用剖析并不自动重置计数寄存器–必须在开始事件计数之前明确进行。参数返回值None.依赖项None.获取PMU寄存器。返回指定PMU寄存器的当前值。原创 2022-07-07 19:36:23 · 226 阅读 · 0 评论 -
B_QuRT_User_Guide(37)
线程使用剖析来确定用户程序的选定部分的周期数。使用收集的数据来确定一个QuRT线程(或整个QuRT用户程序系统)的CPU利用率。剖析支持运行(执行)和空闲(不执行)周期的特定线程循环计数。重置计数可以对用户程序的特定部分进行周期计数。除了一个配置文件周期计数外,所有的周期计数都以处理器周期(所有硬件线程执行的实际处理器周期数)表示,而不是线程周期(例如,特定硬件线程执行的周期数)。假设有六个硬件线程,下面的等式表达了这两种周期类型之间的关系。线程周期=处理器周期/6启用剖析操作可选择性地启用或禁用剖原创 2022-07-07 19:14:06 · 286 阅读 · 0 评论 -
B_QuRT_User_Guide(36)
程序可以访问QuRT系统环境的各种属性。最大pimutex优先级指定了一个线程在拥有优先级继承的mutex上的锁时可以被设置为的最高优先级。这个值使其他没有使用pimutex的线程能够以高于pimutex最大优先级的线程优先级运行。系统环境支持以下操作。- qurt_sysenv_get_app_heap()从内核中获取程序堆的信息。相关的数据类型qurt_sysenv_app_heap_t参数返回值QURT_EOK – Success.QURT_EVAL – Invalid parame原创 2022-07-07 18:41:00 · 337 阅读 · 0 评论 -
B_QuRT_User_Guide(33)
确定一个内存页是否被静态映射。以下属性指定页。64位物理地址,页面大小,缓存模式,以及内存权限。如果指定的页是静态映射的,vaddr返回该页的虚拟地址。如果该页没有被静态映射(或者不存在指定的页),vaddr返回-1作为虚拟地址值。QuRT内存映射是在系统配置文件中定义的。相关数据类型qurt_addr_tqurt_paddr_64_tqurt_mem_cache_mode_tqurt_perm_t参数返回值QURT_EOK - 指定的页面是静态映射的;在vaddr中返回一个虚拟地址。Q原创 2022-06-30 10:50:03 · 163 阅读 · 0 评论 -
B_QuRT_User_Guide(32)
对存储在指定内存区域的数据执行数据缓存清理操作。该API只执行以下数据缓存操作。相关数据类型qurt_addr_tqurt_size_tqurt_mem_cache_op_tqurt_mem_cache_type_t参数返回值QURT_EOK – Cache operation performed successfully.QURT_EVAL – Invalid cache type.依赖项None.根据地址匹配和掩码,对存储在指定内存区域的数据执行缓存清理操作。当(LINE.Physica原创 2022-06-30 10:36:45 · 215 阅读 · 0 评论 -
B_QuRT_User_Guide(31)
在页表中创建一个内存映射。相关的数据类型qurt_addr_tqurt_size_tqurt_mem_cache_mode_tqurt_perm_t参数返回值QURT_EOK - 映射创建。QURT_EMEM - 创建映射失败。依赖项None.在页表中创建一个内存映射。相关的数据类型qurt_addr_tqurt_paddr_64_tqurt_size_tqurt_mem_cache_mode_tqurt_perm_t参数返回值None.依赖项None.从页表中删除原创 2022-06-30 10:21:09 · 244 阅读 · 0 评论 -
B_QuRT_User_Guide(29)
Qualcomm ® Hexagon TM QuRT RTOS原创 2022-06-23 11:34:59 · 696 阅读 · 0 评论 -
B_QuRT_User_Guide(28)
获取L2VIC中指定中断的状态。参数返回值QURT_EOK - 成功。QURT_EINT - 失败;无效的中断编号。依赖项None.本节介绍中断服务的常量。线程使用线程局部存储来分配全局存储,全局存储对特定线程是私有的。存储在线程局部存储中的数据项可以被线程中的任何函数访问(但不能被线程外的任何函数访问)。与全局存储一样,只要线程存在,存储的数据项就会一直存在。可以定义破坏函数,在线程终止时处理存储的数据项。注意:删除一个键不会运行任何与之相关的析构函数。用于线程本地存储的内存是由内核自动原创 2022-06-23 10:48:38 · 212 阅读 · 0 评论 -
B_QuRT_User_Guide(27)
禁用一个带有中断号的中断。在调用该函数之前,必须注册该中断。在qurt_interrupt_disable()返回后,Hexagon子系统不能再向Hexagon核心发送相应的中断,直到为同一中断调用qurt_interrupt_enable()。避免在短时间内频繁调用qurt_interrupt_disable()和qurt_interrupt_enable()。(1) 当调用qurt_interrupt_disable()时,Hexagon内核中可能已经有待处理中断。因此在一段时间后,Hexagon硬原创 2022-06-23 10:40:29 · 318 阅读 · 0 评论 -
B_QuRT_User_Guide(26)
线程使用QuRT系统时钟来创建警报和定时器,访问当前的系统时间,或确定任何活动定时器的下一个定时器事件发生的时间。系统时钟时间表明QuRT应用系统已经执行了多长时间(以系统滴答为单位)。一个系统滴答被定义为Hexagon处理器的19.2MHz QTIMER时钟的一个周期。与常规计时器(第15节)不同,系统时钟警报和计时器是全局资源,可以通知多个客户线程发生了时钟事件。当一个客户线程为一个系统时钟事件注册时,它指定了一个信号对象和信号掩码。系统时钟警报在指定的时间内失效,而系统时钟定时器在指定的时间内失原创 2022-06-23 10:29:18 · 761 阅读 · 0 评论 -
B_QuRT_User_Guide(23)
向指定的管道写一个数据项(带暂停),可取消。如果一个线程向一个完整的管道写数据,它就会在该管道上暂停。当另一个线程从该管道读取数据时,被暂停的线程被唤醒,然后可以向该管道写入数据。如果调用线程的用户进程被杀死,或者调用线程必须完成其当前的QDI调用并返回到用户空间,则该操作被取消。管道数据项被定义为64位数值。管子写入被限制为每次操作只能传输一个64位的数据项。注意:通过读写数据的指针来传输大于64位的数据项,或者通过连续的64位块来传输数据。相关数据类型qurt_pipe_tqurt_pipe原创 2022-06-16 19:31:43 · 257 阅读 · 1 评论 -
B_QuRT_User_Guide(22)
销毁指定的管道。注意:当管道不再被使用时,必须将其销毁。如果不这样做会导致QuRT内核的资源泄漏。当管道仍在使用时,不能将其销毁。如果发生这种情况,QuRT的行为将无法定义。相关数据类型qurt_pipe_t参数返回值None.依赖关系None.使用现有的数据缓冲区初始化一个管道对象。注意:存储在属性结构中的缓冲区地址和大小必须指定一个用户已经分配好的数据缓冲区。相关数据类型qurt_pipe_tqurt_pipe_attr_t参数返回值None.返回一个表示指定管道是否包含任原创 2022-06-16 19:09:00 · 251 阅读 · 0 评论 -
B_QuRT_User_Guide(21)
线程使用管道来执行数据流的同步交换。当一个管道对象被初始化时,它使用一个用户分配的FIFO缓冲区来存储一个或多个管道数据的元素。管道缓冲区的地址和长度是作为参数指定的。当创建一个管道对象时,管道缓冲区被分配为创建操作的一部分。在这种情况下,只有管道缓冲区的长度被指定为一个参数。如果一个线程从一个空的管道中读取,它将被暂停在该管道上。当另一个线程向该管道写入时,被暂停的线程被唤醒,然后可以从该管道读取数据。如果一个线程向一个满的管道写数据,它就被暂停在管道上。当另一个线程从管道中读取数据时,暂停的线程原创 2022-06-16 18:59:22 · 206 阅读 · 0 评论 -
B_QuRT_User_Guide(18)
用指定的值初始化一个semaphore对象。相关数据类型qurt_sem_t参数返回值None.依赖关系None.请求访问一个共享资源(没有暂停)。当一个线程对一个时,其结果取决于semaphore的计算值。释放对一个共享资源的访问。当一个线程在一个semaphore上执行向上操作时,semaphore的计数值会被增加。其结果取决于在该信号上等待的线程的数量。相关数据类型qurt_sem_t参数返回值Unused integer value.依赖关系None.当一个线程对一个原创 2022-06-09 10:50:42 · 178 阅读 · 0 评论 -
B_QuRT_User_Guide(17)
线程使用信号灯来同步访问共享资源。当一个信号灯被初始化时,它被分配一个整数的数值。这个值表示可以通过信号灯同时访问共享资源的线程数量。默认值为1。当一个线程在一个信号灯上执行down操作时,其结果取决于信号灯的计数值。释放对一个共享资源的访问(指定的数量会增加信号灯的数值)。当一个线程在一个semaphore上执行添加操作时,指定的值会增加semaphore的计数。其结果取决于在该信号上等待的线程数量。销毁指定的semaphore。注意:当semaphores不再被使用时,必须将其销毁。如果不这样做会原创 2022-06-09 10:37:59 · 249 阅读 · 0 评论 -
B_QuRT_User_Guide(13)
暂停当前线程,直到指定的信号被设置。信号在32位掩码值中表示为第0到31位。掩码位值为1表示等待信号,0表示不等待信号。如果一个线程在一个信号对象上等待任何一组指定的信号被设置,并且这些信号中的一个或多个在信号对象中被设置,那么这个线程就被唤醒了。如果一个线程在一个信号对象上等待所有指定的信号集被设置,并且所有这些信号在信号对象中被设置,那么这个线程就被唤醒了。一旦信号被设置,指定的信号集可以被清除。注意:在任何时候,最多只有一个线程可以在一个信号对象上等待。相关数据类型qurt_signal原创 2022-06-02 11:29:29 · 401 阅读 · 0 评论 -
B_QuRT_User_Guide(12)
线程使用信号来根据一个或多个内部事件的发生来同步其执行。如果一个线程在一个信号对象上等待指定的信号集中的任何一个被设置,并且这些信号中的一个或多个被设置在信号对象中,那么这个线程就被唤醒了。如果一个线程在一个信号对象上等待所有指定的信号集被设置,并且所有这些信号在信号对象中被设置,那么这个线程就被唤醒了。一个信号对象包含32个信号,这些信号在一个32位的数值中被表示为0-31位。位值1表示一个信号被设置,0表示被清除。注意:在任何时候,最多只有一个线程可以在一个信号对象上等待。qurt_signa原创 2022-06-02 11:18:49 · 323 阅读 · 0 评论 -
B_QuRT_User_Guide(11)
QuRT支持递归互斥的一个变种,即优先继承互斥。优先级继承互斥在功能上等同于递归互斥(第6节),只是它们使线程在锁定互斥后可以执行优先级继承。初始化一个优先级继承的mutex对象。优先级继承的mutex最初是被解锁的。这个函数的作用与qurt_mutex_init()相同。注意:每个基于pimutex的对象都有一个或多个与之相关的内核资源;为了防止资源泄漏,当这个对象不再被使用时,请调用qurt_pimutex_destroy()。相关数据类型qurt_mutex_t参数返回值None.依原创 2022-06-02 11:09:32 · 247 阅读 · 0 评论 -
B_QuRT_User_Guide(8)
B_QuRT_User_Guide(8)4.8 qurt_process_attr_set_ceiling_prio()4.8.1 Function Documentation4.8.1.1 static void qurt_process_attr_set_ceiling_prio ( qurt_process_attr_t ∗ attr, unsigned short prio )4.9 qurt_process_get_thread_count()4.9.1 Function Documentatio原创 2022-05-26 11:17:58 · 420 阅读 · 0 评论 -
B_QuRT_User_Guide(7)
B_QuRT_User_Guide(7)4 Processes4.1 qurt_process_attr_init()4.1.1 Function Documentation4.1.1.1 static void qurt_process_attr_init ( qurt_process_attr_t ∗ attr )4.2 qurt_process_attr_set_executable()4.2.1 Function Documentation4.2.1.1 void qurt_process_attr原创 2022-05-26 11:01:51 · 372 阅读 · 0 评论 -
B_QuRT_User_Guide(6)
B_QuRT_User_Guide(6)3.25 qurt_thread_stid_set()3.125.1 Function Documentation3.25.1.1 int qurt_thread_stid_set ( char stid )3.26 qurt_sleep()3.26.1 Function Documentation3.26.1.1 void qurt_sleep ( unsigned long long int duration )3.27 qurt_thread_get_tls_b原创 2022-05-26 10:47:19 · 343 阅读 · 0 评论 -
Hexagon_DSP_User_Guide(5)
Hexagon_DSP_User_Guide(4)6 Profiling6.1 读定时器6.1.1 测量时间6.1.2 测量处理器周期6.2 模拟器上的配置文件6.2.1 High-level profiling6.2.2 Low-level profiling6.3 使用 Hexagon Trace Analyzer 分析目标6.4 使用 Android Hexagon 分析器对目标进行分析6 ProfilingHexagon SDK 提供分析工具和调试工具。6.1 读定时器您可以使用计时器 AP原创 2022-05-12 13:47:46 · 932 阅读 · 0 评论 -
B_QuRT_User_Guide(1)
B_QuRT_User_Guide(1)1 Introduction1.1 Purpose1.2 Conventions1.3 Technical Assistance1.4 Features1.5 Processor Versions2 Using QuRT2.1 User Programs2.2 Build Procedure2.3 API1 Introduction1.1 Purpose本文件旨在为有实时软件开发经验的C语言程序员提供参考。它只提供了关于实时并发编程的基本信息。欲了解更多信息,请原创 2022-05-19 10:37:05 · 1257 阅读 · 0 评论