ICode9

精准搜索请尝试: 精确搜索
  • 从零认识XLA2022-01-02 12:05:38

      初识XLA   XLA的全称是Accelerated Linear Algebra,即加速线性代数。作为一种深度学习编译器,长期以来被作为Tensorflow框架的一个试验特性被开发,历时至今已经超过两三年了,随着Tensorflow 2.X的发布,XLA也终于从试验特性变成了默认打开的特性。此外, Pytorch社区也在大力推动XLA

  • 编译器 llvm clang 源码转换示例2022-01-01 06:33:01

    编译器  llvm  clang  源码转换示例  从git获取llvm项目的源码方式: git clone https://github.com/llvm/llvm-project.git 下载源码后,进入llvm-project目录包括如下内容:      llvm-project/llvm目录包括如下内容:         CLANG实战 实战 利用Clang制作自己的编译器 s

  • LLVM之父分享发明编译器的经验 - hpcwire2021-12-28 12:00:09

    LLVM 编译器在现代计算机语言中是必不可少,但早在 2000 年,LLVM(低级虚拟机)才刚刚起步,作为一种思考如何克服 Java 虚拟机缺点的新方法。当时,克里斯·拉特纳 (Chris Lattner) 是伊利诺伊大学 Vikram Adve 的研究生。 “Java 正在接管世界。这真的很令人兴奋。没有人知道 Java 的

  • gcc都知道,那你了解LLVM吗2021-12-19 15:32:04

    文章目录 什么是LLVM传统编译器架构LLVM架构 什么是ClangClang与LLVM关系 什么是LLVM 官方描述如下: The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virt

  • clang 命令行生成 Token、Ast 与 IR2021-12-19 09:05:59

    clang_notes 查看编译过程 clang -ccc-print-phases main.m词法分析生成 Token clang -fmodules -E -Xclang -dump-tokens main.m语法分析生成语法树 AST clang -fmodules -fsyntax-only -Xclang -ast-dump main.m生成中间代码 .ll clang -S -emit-llvm main.m .bc clang -c

  • LLVM官方文档阅读(一)LLVM介绍2021-12-17 21:32:16

    文章目录 前言一、经典编译器设计简介1.1 本设计的意义 二、 现有的语言实现三、LLVM的代码表示:LLVM IR3.1 编写LLVM IR优化 四、LLVM对三阶段设计的实现4.1 LLVM IR 是一个完整的代码表示4.2 LLVM是一个库集合 五、可重定向LLVM代码生成器的设计5.1 LLVM目标描述文件 六、

  • 2021 开发何不换种姿势 LLVM+clang+Menson+ninja2021-12-12 20:33:09

    目前常见的C/C++开发多数使用的是gnu+makefile的开发方式,每次开发的时候编译的配置文件写的头疼.而使用cmake虽然可以自动辅助生成makefile文件,并且可移植性也变得更好的,不过也常常逃不掉要经常手动修改的时候自己的cmake文件的命运,那有没有更高效的方法呢? 叮叮~ LLVM+c

  • LLVM与Clang编译图例2021-12-12 06:31:05

    LLVM与Clang编译图例                                       参考链接: https://blog.csdn.net/u012874859/article/details/108530256

  • [环境配置] macOS配置基于sublime text4的c++开发环境(clangd)2021-12-05 20:33:12

    准备工作 打开终端。键入: brew install llvm 安装最新的llvm工具链,clangd作为语言服务器会附带被安装。 接着,分别键入以下命令来将llvm配置到编译环境查找路径中: LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" echo 'export PATH="/usr/local/op

  • 【从零开始学深度学习编译器】十七,MLIR ODS要点总结下篇2021-11-29 22:31:32

    前言 这一节在【从零开始学深度学习编译器】十六,MLIR ODS要点总结上篇 的基础上补充完整了ODS的要点。约束和属性的定义都是MLIR中相当重要的元素,至于类型的定义个人认为了解即可,等到我们需要自定义类型的时候再仔细研究。最后MLIR的语法比较晦涩,初学者可以借助mlir-tblgen来

  • 三段式LLVM编译器2021-11-28 05:31:09

    三段式LLVM编译器 目录 概述 LLVM技术生态之编译器 一、传统编译器的设计 二、传统编译器模式的实现 三、LLVM的三段式实现 四、LLVM's Code Representation:LLVM IR 1、IR的表现形式 2、IR的格式文件类型 3、IR文件的编译处理流程 4、简单的IR布局 5、Llvm IR 编程 五、LLVM 与 GC

  • POCL 编译 换LLVM 移植到树莓派 A53 cpu做OPENCL device2021-11-27 20:31:48

    pocl: http://portablecl.org/docs/html/install.html 最好用 ubuntu 20.04 ,执行:  18.04不好使。系统干净点,之前最好没安装过llvm,不然,后续各种安装卸载残留、编译问题。浪费时间。做个干净的docker LLVM_VERSION=12sudo apt install -y build-essential ocl-icd-libopencl1 cmake

  • TVM cmake示例展示2021-11-21 06:31:09

    TVM cmake示例展示 本文展示tvm/cmake中config.cmake,tvm/cmake/module/LLVM.cmake,tvm/cmake/module/CUDA.cmake,tvm/cmake/module/OpenCL.cmake 看TVM工程 tvm/cmake      tvm/cmake/module tvm/cmake/module/LLVM.cmake      tvm/cmake/module/CUDA.cmake        tvm/c

  • 【从零开始学深度学习编译器】十五,MLIR Toy Tutorials学习笔记之Lowering到LLVM IR2021-11-17 23:31:18

    0x0. 前言 在上一节中,我们将Toy Dialect的部分Operation Lowering到Affine Dialect,MemRef Dialect和Standard Dialect,而toy.print操作保持不变,所以又被叫作部分Lowering。通过这个Lowering可以将Toy Dialect的Operation更底层的实现逻辑表达出来,以寻求更多的优化机会,得到更好

  • 【安卓framework实战】使用lldb调试Android native源码2021-11-11 20:32:23

    一、环境准备 1.1 安装llvm 安装方法参考:https://apt.llvm.org/。 为了方便起见,有一个自动安装脚本可用于安装LLVM。要安装最新的稳定版本: $ bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" 要安装特定版本的LLVM: $ wget https://apt.llvm.org/llvm.sh $ chmod +x

  • emcc2021-11-07 08:34:49

    https://blog.csdn.net/qq_34754747/article/details/104967933    https://blog.csdn.net/fanxingzju/article/details/80488788  https://blog.csdn.net/weixin_30872733/article/details/94989602     https://segmentfault.com/a/1190000011335568 emcc(Emscripten Compi

  • 电脑文件建立软连接的方法2021-11-01 16:35:00

    建立软连接,常用于因版本更新文件夹名字改变,但文件夹里边的文件名仍相同的情况, 比如1.0版本的软件包的名字是arm-linux-androideabi,到了2.0版本文件夹名字改为了llvm,此时为了让软件运行时找得到路径,可以新建文件夹名字命名为arm-linux-androideabi,然后把llvm中的文件复制过去

  • LLVM源码阅读——GVN-Hoist2021-10-27 23:04:23

    实现思路: 1.run:入口函数  以深入优先的顺序记录BB的序号,并记录每个BB中的指令序号到DFSNumber中;  1.1 hoistExpressions: hoist所有表达式,返回hoist的scalars和non-scalars的数目    两重循环,遍历每个bb和bb中的每条指令,然后依据指令类型(scalar, load, store, call),将它们插

  • 初探tvm--用tvmc编译一个resnet502021-10-24 23:01:04

    初探tvm--用一个resnet50的例子看一下tvm的大体效果 tvmc是啥玩意编译出一个tvm模型使用resnet50 v2-7 onnx使用tmvc编译resnet50 还记得上节提到的tvm流程吧,不记得的话点这里康康。 tvmc是啥玩意 tvmc顾名思义,就是tvm封装的一个command line driver1,方便用户调用啦。

  • LLVM Clang前端编译与调试2021-10-17 08:34:12

    LLVM Clang前端编译与调试 iOS 关于编译 一、Objective-C 编译过程 为什么需要重新编译? 编译步骤 二、编译步骤的详细说明 1.预处理 2.编译 词法分析 语法分析 clang static analyzer 3.生成 LLVM IR LLVM Backend 三、编译完成生成的文件 Link Map File dSYM 文件 Mach-O 四、总

  • LLVM语法语义指令特性2021-10-10 06:31:23

    LLVM语法语义指令特性 High Level Structure Module Structure LLVM 程序由Module's组成,每个 's 是输入程序的一个翻译单元。每个模块由函数,全局变量和符号表条目组成。模块可与 LLVM 链接器组合在一起,后者合并函数(全局变量)定义,解析前向声明,合并符号表条目。这是“hello world”

  • LLVM 新一代 JIT API:ORC2021-10-07 14:58:14

    最近看到 ORC(On Request Compilation) 在增加 MachO 平台的 OC 和 Swift 语言支持,这是 MachO JIT(Just In Time) 相关的进展。本文将探索这个 LLVM 新一代的 JIT APIs,即 ORC,其 ORC JIT Weekly 现在还一直处于更新状态。 1、JIT 解释 以防语境不一致,解释下 JIT(Just In Time) 这

  • CPU架构的llvm后端2021-10-01 07:00:23

    Creating an LLVM Backend for the Cpu0 Architecture Backend structure TargetMachine structure Add AsmPrinter Add Cpu0DAGToDAGISel class Handle return register $lr Add Prologue/Epilogue functions Concept Prologue and Epilogue functions Handle stack slot f

  • LLVM编译器基础架构与DragonEgg示例2021-09-30 06:00:26

    LLVM编译器基础架构与DragonEgg示例 LLVM 概述 LLVM 项目是模块化和可重用的编译器和工具链技术的集合。LLVM 与传统的虚拟机几乎没有关系。“LLVM”这个名字本身并不是一个首字母缩写词;是项目的全名。 LLVM开始作为一个研究项目,在伊利诺伊大学,与提供能够一个现代的,基于SSA编译策

  • LLVM数据流分析的理论2021-09-26 06:33:18

    LLVM数据流分析的理论 标量优化(scalar目录): 死代码消除(BDCE.cpp[code],ADCE.cpp[code],DCE.cpp[code]), 全局值编号(GVN.cpp[code]), 代码提升(ConstantHoisting.cpp[code]), 公共子表达式消除(EarlyCSE.cpp[code]), 代码下沉(Sink.cpp[code]), 以及各种循环优化等 过程间优化(IPO目录):无效参数

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有