当前位置: 首页 > news >正文

常熟有哪些网站建设公司网页模板设计

常熟有哪些网站建设公司,网页模板设计,怎么建设小说网站,哈尔滨建设工程管理工资多少介绍 Arm 计算库#xff08;ACL#xff09;是一个开源项目#xff0c;它为 Arm CPU 和 GPU 提供了加速内核。目前#xff0c;集成将算子迁移到 ACL 以在库中使用手工制作的汇编程序例程。通过将选择算子从 Relay 计算图迁移到 ACL#xff0c;可在此类设备上实现性能提升。…介绍 Arm 计算库ACL是一个开源项目它为 Arm CPU 和 GPU 提供了加速内核。目前集成将算子迁移到 ACL 以在库中使用手工制作的汇编程序例程。通过将选择算子从 Relay 计算图迁移到 ACL可在此类设备上实现性能提升。 安装 Arm 计算库 安装 Arm 计算库前了解要构建的架构非常重要。一种方法是使用 lscpu并查找 CPU 的“模型名称”然后可以使用它通过在线查看来确定架构。 TVM 目前只支持 v21.08 版本的 ACL构建和安装所需的库的推荐方法如下 使用位于docker/install/ubuntu_download_arm_compute_lib_binaries.sh 的脚本为 target_lib 指定的架构和扩展下载 ACL 二进制文件它们将安装到 install_path 表示的位置。 或从 https://github.com/ARM-software/ComputeLibrary/releases 下载预构建的二进制文件。 使用此包时要为所需的架构和扩展选择二进制文件并确保它们对 CMake 可见 cd acl-prebuilt-package/libmv ./architecture-and-extensions-required/* .这两种情况都要将 USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR 设置为 ACL 包所在的路径。 CMake 会在 /path-to-acl//path-to-acl/lib 和 /path-to-acl/build 中查找所需的二进制文件。如何使用这些配置选项请参阅下一小节。 使用 ACL support 构建 当前的实现在 CMake 中有两个单独的构建选项。这种拆分的原因是 ACL 不能在 x86 机器上使用。但是我们仍希望在 x86 机器上编译 ACL runtime 模块。 USE_ARM_COMPUTE_LIBON/OFF - 启用此标志能添加对编译 ACL runtime 模块的支持。USE_ARM_COMPUTE_LIB_GRAPH_EXECUTORON/OFF/path-to-acl - 启用此标志将允许图执行器计算 ACL 迁移的函数。 这些标志可根据你的设置应用于不同的场景。例如若要在 x86 机器上编译 ACL 模块并通过 RPC 在远程 Arm 设备上运行则需要在 x86 机器上设置 USE_ARM_COMPUTE_LIBON在远程 AArch64 设备上设置 USE_ARM_COMPUTE_LIB_GRAPH_EXECUTORON。 默认这两个选项都设置为 OFF。设置 USE_ARM_COMPUTE_LIB_GRAPH_EXECUTORON 意味着 CMake 会在默认位置和 /path-to-tvm-project/acl/ 目录下搜索 ACL 二进制文件参阅 https://cmake.org/cmake/help/v3.4/command/find_library.html。若要设置搜索 ACL 的路径可在 ON 的位置指定。 这些标志应在 config.cmake 文件中进行设置如 set(USE_ARM_COMPUTE_LIB ON) set(USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR /path/to/acl)使用 备注 此部分可能与 API 的更改不同步。 创建一个 Relay 计算图单个算子或整个计算图使得任何 Relay 计算图都可以作为输入。ACL 集成只会选择支持的算子进行迁移而其他的将通过 TVM 计算。本例用的是单个 max_pool2d 算子。 import tvm from tvm import relaydata_type float32 data_shape (1, 14, 14, 512) strides (2, 2) padding (0, 0, 0, 0) pool_size (2, 2) layout NHWC output_shape (1, 7, 7, 512)data relay.var(data, shapedata_shape, dtypedata_type) out relay.nn.max_pool2d(data, pool_sizepool_size, stridesstrides, layoutlayout, paddingpadding) module tvm.IRModule.from_expr(out)为 ACL 的计算图进行注释和分区 from tvm.relay.op.contrib.arm_compute_lib import partition_for_arm_compute_lib module partition_for_arm_compute_lib(module)构建 Relay 计算图 target llvm -mtripleaarch64-linux-gnu -mattrneon with tvm.transform.PassContext(opt_level3, disabled_pass[AlterOpLayout]):lib relay.build(module, targettarget)导出模块 lib_path ~/lib_acl.so cross_compile aarch64-linux-gnu-c lib.export_library(lib_path, cccross_compile)必须在 Arm 设备上运行推理。若在 x86 设备上编译在 AArch64 上运行则需要借助 RPC 机制参考 RPC 机制的使用教程。 dev tvm.cpu(0) loaded_lib tvm.runtime.load_module(lib_acl.so) gen_module tvm.contrib.graph_executor.GraphModule(loaded_lib[default](dev)) d_data np.random.uniform(0, 1, data_shape).astype(data_type) map_inputs {data: d_data} gen_module.set_input(**map_inputs) gen_module.run()更多示例 以上示例仅展示了如何用 ACL 迁移单个 Maxpool2D 的基本示例。若要查看所有实现的算子和网络的更多示例参阅 teststests/python/contrib/test_arm_compute_lib可修改 test_config.json 来配置如何在 infrastructure.py 中创建远程设备从而配置 runtime 测试的运行方式。 以 test_config.json 的配置为例 connection_type - RPC 连接的类型。选项local、tracker 和 remote。host - 要连接的主机设备。port - 连接时使用的端口。target - 用于编译的 target。device_key - 通过 tracker 连接时的设备密钥。cross_compile - 连接非 arm 平台时交叉编译器的路径例如 aarch64-linux-gnu-g。 {connection_type: local,host: 127.0.0.1,port: 9090,target: llvm -mtripleaarch64-linux-gnu -mattrneon,device_key: ,cross_compile: }支持的算子 Relay 节点备注nn.conv2dfp32:Simple: nn.conv2d Composite: nn.pad?, nn.conv2d, nn.bias_add?, nn.relu?支持深度和普通卷积内核为 3x3 或 5x5 且步幅为 1x1 或 2x2 时不支持分组卷积。qnn.conv2duint8:Composite: nn.pad?, nn.conv2d, nn.bias_add?, nn.relu?, qnn.requantizeNormal支持深度和普通卷积当内核为 3x3 或 5x5步长为 1x1 或 2x2 时不支持分组卷积。nn.densefp32:Simple: nn.dense Composite: nn.dense, nn.bias_add?qnn.denseuint8:Composite: qnn.dense, nn.bias_add?, qnn.requantizenn.max_pool2dfp32, uint8nn.global_max_pool2dfp32, uint8nn.avg_pool2dfp32:Simple: nn.avg_pool2d uint8:Composite: cast(int32), nn.avg_pool2d, cast(uint8)nn.global_avg_pool2dfp32:Simple: nn.global_avg_pool2d uint8:Composite: cast(int32), nn.avg_pool2d, cast(uint8)power(of 2) nn.avg_pool2d sqrtL2 池化的一种特殊情况。fp32:Composite: power(of 2), nn.avg_pool2d, sqrtreshapefp32, uint8maximumfp32addfp32qnn.adduint8 备注 复合算子由映射到单个 Arm 计算库的算子组成。从 Arm 计算库的角度来看可以将其视为单个融合算子。“?”是构成复合算子的一系列算子中的可选算子。 添加新算子 添加新算子需要修改多处本节将分享需要修改的内容和位置但不会深入探讨单个算子的复杂性这个问题留给开发者思考。 下面是要修改的几个文件 python/relay/op/contrib/arm_compute_lib.py定义了要用 op.register 装饰器迁移的算子——意味着注释 pass 认为此算子可迁移 ACL。src/relay/backend/contrib/arm_compute_lib/codegen.cc实现 Create[OpName]JSONNode 的方法声明算子如何由 JSON 表示可用来创建 ACL 模块。src/runtime/contrib/arm_compute_lib/acl_runtime.cc实现 Create[OpName]Layer 方法定义如何用 JSON 表示来创建 ACL 函数只定义了如何将 JSON 表示转换为 ACL API。tests/python/contrib/test_arm_compute_lib为给定的算子添加单元测试。
http://www.pierceye.com/news/935236/

相关文章:

  • 网站备案审核流程图长治专业做网站
  • 网站建设的参考文献英文北京市住房建设官网站
  • 网站文件夹命名seo大连网站建设方案咨询
  • 重庆推广一个网站网站标题flash
  • 潍坊住房与城乡建设局网站邮箱号怎么注册
  • 有没有免费开网站的电子商务网站建设讨论
  • 拓者室内设计网站东方甄选采用了哪些网络营销方式
  • 电子商务网站开发案例dw怎么制作好看的个人网页
  • 爱站网 关键词挖掘工具站长工具wordpress登陆框
  • dede手机网站更新实时新闻
  • 信息化建设 网站作用专业设计网站公司
  • 秦皇岛金洋建设集团网站找人做小程序要多少钱
  • 郑州专业做网站企业wordpress 添加文件权限
  • 企业网站托管套餐南通企业建站系统模板
  • 汉中网站建设服务网站宣传推广平台
  • 关于科技园区建设文章的网站软文兼职10元一篇
  • 免费隐私网站推广海宁自适应网站建设
  • ipad网站制作网络平台怎么建立网站吗
  • 午夜资源站诸暨北京有哪些网站制作公司
  • 无忧自助建站安卓手机建站
  • 网站建设怎设计榆林市城乡建设规划局网站
  • 网站建设相关资讯做网站 思源字体
  • 辽宁网站设计国家开发大学网站作业怎么做
  • 仿西部数码网站注册建筑设计师
  • 南昌企业网站设计建设制作怎么删除ghost wordpress
  • 如何建个人免费网站手机怎么做网站免费的
  • 目前做那个网站能致富怎么增加网站的权重
  • 无锡网站建设818gx中国机械加工网卸粮四通
  • 淘宝网网站建设出入南京最新通知今天
  • 做企业网站项目的心得做网站一定要后台嘛