写点什么

编译器

1 人感兴趣 · 43 次引用

  • 最新
  • 推荐

关于编译的重要概念总结

什么是GNU 什么是GCC / G++ 什么是MinGW-w64 C++ 标准有哪些?主要区别是什么? Makefile是什么?cmake是什么?

https://static001.geekbang.org/infoq/e1/e154d2808fd7350cfde413e1a31aca63.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

作为移动开发你不能不了解的编译流程

1、编译器是什么?为什么会有编译器这样一个东西? 2、编译器做了哪些工作?整个编译过程又是什么? 3、Apple的编译器发展历程以及为什么会抛弃GCC换成自研的LLVM? 4、从编译器角度看Swift与OC能够实现混编的底层逻辑

https://static001.geekbang.org/infoq/e9/e9cab813f58ee214323f2226e519674f.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

如何让 Java 编译器帮你写代码

本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对Java编译器底层有初步了解。

如何写一个深度学习编译器

用户头像
MegEngineBot
2022-12-27

本文以深度学习编译器的开发、结合我们实际开发的深度学习编译器 MegCC 为例,来说明如何写一个编译器。

https://static001.geekbang.org/infoq/af/afabdd97fdee970abc450c115daf1e12.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

全面支持 PyTorch 2.0:BladeDISC 5 月~11 月新功能发布

BladeDISC 上一次更新主要发布了 GPU AStitch 优化,方法来源于我们发表在 ASPLOS 2022上的论文AStitch。这一次,我们发布了 0.3.0 版本。本文描述 BladeDISC v0.3.0 版本对于 v0.2.0 的主要更新内容。

从 wepy 到 uniapp 变形记

本文主要讲述了如何将 wepy 框架的小程序项目一键转换为 uni-app 框架代码,详细讲解了方案的实现思路和具体实现方法。

https://static001.geekbang.org/infoq/ec/ec07d6dfa2f898e4cb073a91afb39f80.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

带你了解 5 个幽灵攻击与编译器中的消减方法

幽灵攻击包括诱使受害者投机性地执行在正确程序执行期间不会发生的操作,并通过侧通道将受害者的机密信息泄露给攻击者。

编译器优化那些事儿(6):别名分析概述

用户头像
openEuler
2022-09-27

别名分析是编译器理论中的一种技术,用于确定存储位置是否可以以多种方式访问。如果两个指针指向相同的位置,则称这两个指针为别名。但是,它不能与指针分析混淆,指针分析解决的问题是一个指针可能指向哪些对象或者指向哪些地址,而别名分析解决的是两个指针

https://static001.geekbang.org/infoq/1d/1d201d146b890b8f5873a93ca062f51e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

编译器优化:何为别名分析

别名分析是编译器理论中的一种技术,用于确定存储位置是否可以以多种方式访问。

动态尺寸模型优化实践之 Shape Constraint IR Part II

本篇是关于Part II的介绍,主要介绍shape constraint IR的设计,实现以及一些初步的实验结果

动态尺寸模型优化实践之 Shape Constraint IR Part I

在本系列分享中我们将介绍BladeDISC在动态shape语义下做性能优化的一些实践和思考。本次分享的是我们最近开展的有关shape constraint IR的工作。

预约直播 | 深度学习编译器技术趋势与阿里云 BladeDISC 的编译器实践

阿里云AI技术分享会第二期《深度学习编译器技术趋势与阿里云BladeDISC的编译器实践》将在2022年08月17日晚18:00-18:30直播,精彩不容错过!

https://static001.geekbang.org/infoq/55/550f3ab8005f23458cbc976b86dedcf2.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

什么是编译器中的常量传播?

常量传播,顾名思义,就是把常量传播到使用了这个常量的地方去,用常量替换原来的变量。

https://static001.geekbang.org/infoq/e6/e6715d4e9d9633191fe91d2f5aef2484.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

编译器优化:何为 SLP 矢量化

SLP矢量化的目标是将相似的独立指令组合成向量指令,内存访问、算术运算、比较运算、PHI节点都可以使用这种技术进行矢量化。

编译器工程师眼中的好代码(1):Loop Interchange

用户头像
openEuler
2022-08-05

编者按:C/C++代码在编译时,编译器将源码翻译成CPU可识别的指令序列并生成可执行代码,而最终代码的运行效率取决于由编译器生成的可执行代码。在大部分情况下,编写源代码时就已经决定了程序可以在何种程度下被编译器优化。即使对源代码做微小改动也可能会对

https://static001.geekbang.org/infoq/2d/2d1876b28d327da126d3f0f7553aacf0.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

编译器工程师眼中的好代码:Loop Interchange

本文将以Loop Interchange的场景为例,讲述在编写代码时可以拿到更优性能的书写方式。

https://static001.geekbang.org/infoq/eb/eb145a6a430a48e7101b7ca9e4a3044c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一篇文章带你走进 pycharm 的世界 ---- 别再问我 pycharm 的安装和环境配置了!!!

用户头像
是Dream呀
2022-07-27

一篇文章带你走进pycharm的世界----别再问我pycharm的安装和环境配置了!!!

解读《深入理解计算机系统 (CSAPP)》第 4 章处理器体系结构

本章讲解指令集体系结构(ISA),在处理器行为(指令计划及其编码)和如何实现处理器之间提供了一层抽象。

【问道】编译原理解析

本章我们首先通过将汉语翻译英语的流程,这个流程应该怎么做,推理出计算机的编译原理,并详细介绍编译设计原理和过程,佐以Graal编译器证明。

https://static001.geekbang.org/infoq/d8/d8b863d47f47cce427962da10311cd26.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

LLVM 之父 Chris Lattner:编译器的黄金时代

用户头像
OneFlow
2022-04-21

为了打破当前架构发展的桎梏,图灵奖获得者 John Hennessey 和 David Patterson 给出的答案是,需要软硬件协同设计和创新,构建领域专用架构、领域专用语言,从而构建更专业化的硬件,并提升运行速度。

https://static001.geekbang.org/infoq/1f/1f6b5f06ca9abb12300887fc89760426.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

阿里 BladeDISC 深度学习编译器正式开源

深度编译器让用户仅需专注于上层模型开发,降低手工优化性能的人力开发成本,进一步压榨硬件性能空间。阿里云机器学习PAI开源了业内较早投入实际业务应用的动态shape深度学习编译器 BladeDISC,本文将详解 BladeDISC的设计原理和应用。

https://static001.geekbang.org/infoq/f8/f8d4162ed9ef844672c94033b80d7b4a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Docker 心经

用户头像
卫先生
2021-11-22

旨在记录一些常用的命令总结,自己的遇到的一些坑和解决办法。以及在本地编译器上如何远程连接docker

https://static001.geekbang.org/infoq/57/57e0e1dddcb81b9e0865bcb4fdcbd3ea.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

🏆【JVM 深层系列】「云原生时代的 Java 虚拟机」针对于 GraalVM 的技术知识脉络的重塑和探究

用户头像
洛神灬殇
2021-11-06

新、旧编程语言的兴起躁动,说明必然有其需求动力所在,譬如互联网之于JavaScript、人工智能之于Python,微服务风潮之于Golang等等。大家都清楚不太可能有哪门语言能在每一个领域都尽占优势,Java已是距离这个目标最接近的选项,但若“天下第一”还要百尺竿头

Android 编译器及编译工具之编译器

用户头像
轻口味
2021-11-04

本文主要介绍了移动端相关的编译工具,都是基础的入门工具,但是对于我们日后面对复杂的大型项目提供帮助,特别是一些跨平台的C/C++项目,一份代码一个脚本编译出所有平台的程序,都需要我们能够熟练驾驭这些编译工具。

https://static001.geekbang.org/infoq/64/645389daa235f553896cbcd37a7d14f3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

☕【Java 技术指南】「编译器专题」重塑认识 Java 编译器的执行过程(常量优化机制)!

用户头像
洛神灬殇
2021-08-23

静态常量可以再编译器确定字面量,但常量并不一定在编译期就确定了, 也可以在运行时确定,所以Java针对某些情况制定了常量优化机制。

探究 Presto SQL 引擎 (1)- 巧用 Antlr

文本介绍了antlr的基本用法以及如何使用antlr4实现解析SQL查询CSV数据,更加深入理解Presto查询引擎支持的SQL语法以及实现思路。

https://static001.geekbang.org/infoq/9b/9bd420ef53bc93914d68164318c85ce2.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

🏆【Java 技术之旅】「编译器专题」重塑认识 Java 编译器的执行过程(消除数组边界检查 + 公共子表达式)!

用户头像
洛神灬殇
2021-08-07

Java的class字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令。这个过程是Java虚拟机做的,这个过程也叫编译。是更深层次的编译。

iOS 开发 - 为 iOS 编写 Kotlin Parcelize 编译器插件

用户头像
iOSer
2021-08-06

这篇文章描述了我编写 Kotlin 编译器插件的经验。我的主要目标是为 iOS(Kotlin/Native)创建一个 Kotlin 编译器插件,类似于 Android 的kotlin-parcelize。结果是新的kotlin-parcelize-darwin插件。

编译器_编译器技术文章_InfoQ写作社区