标签

摘记

  • 农民工   2019-07-30
    「为什么要经常在水木发反映底层生活的帖子?为了让精英们知道国家的真实状况。因为据说这里精英云集。」
  • 笔记:Machine Learning by Andrew Ng   2017-11-09
    只记录「以前」不知道或没注意或忘掉的信息。
  • 我们的龙芯3号:致龙芯15周年   2016-10-22
    「苟利国家生死以,岂因祸福避趋之」当之无愧!
  • Google Breakpad:脱离符号的调试工具   2015-12-13
    Breakpad 是一套用于抓取应用崩溃数据的工具。Breakpad 可以在移除编译器调试信息后,抓取、压缩 minidump 信息,将其发送回你的服务器,然后为 C/C++ 生成调用栈。
  • You and Your Research   1986-03-07
    At a seminar in the Bell Communications Research Colloquia Series, Dr. Richard W. Hamming, a Professor at the Naval Postgraduate School in Monterey, California and a retired Bell Labs scientist, gave a very interesting and stimulating talk, You and Your Research to an overflow audience of some 200 Bellcore staff members and visitors at the Morris Research and Engineering Center on March 7, 1986. This talk centered on Hamming's observations and research on the question "Why do so few scientists make significant contributions and so many are forgotten in the long run?"
  • The Core of the Teachings   1980-10-21
    The following statement was written by Krishnamurti himself on October 21, 1980 in which he summarises the teachings. It may be copied and used provided this is done in its entirety. No editing or change of any kind is permitted. No extracts may be used.
  • Truth is a Pathless Land   1929-08-03
    The Order of the Star in the East was founded in 1911 to proclaim the coming of the World Teacher. Krishnamurti was made Head of the Order. On August 2, 1929, the opening day of the annual Star Camp at Ommen, Holland, Krishnamurti dissolved the Order before 3000 members. Here is the full text of the talk he gave on that occasion.

krishnamurti

  • The Core of the Teachings   1980-10-21
    The following statement was written by Krishnamurti himself on October 21, 1980 in which he summarises the teachings. It may be copied and used provided this is done in its entirety. No editing or change of any kind is permitted. No extracts may be used.
  • Truth is a Pathless Land   1929-08-03
    The Order of the Star in the East was founded in 1911 to proclaim the coming of the World Teacher. Krishnamurti was made Head of the Order. On August 2, 1929, the opening day of the annual Star Camp at Ommen, Holland, Krishnamurti dissolved the Order before 3000 members. Here is the full text of the talk he gave on that occasion.

看戏

  • 极坐标话剧之夜   2010-05-12
    极坐标话剧团是东南大学最活跃的学生团体之一。在九龙湖畔的那四年里,除了玩游戏,参加得最多的活动就是看话剧了。现在离开东大已经两三年了,我还会时常想起那些日子,无论它们对我来说是好是坏,是苦是甜。

酸一酸

读书

翻译

  • 神经网络量化简介   2019-05-01
    介绍神经网络量化相关理论、算术、数学、研究和实现。
  • 笔记:Machine Learning by Andrew Ng   2017-11-09
    只记录「以前」不知道或没注意或忘掉的信息。
  • 基于命名空间的动态链接—— 隔离 Android 中应用程序和系统的本地库   2017-09-22
    Android 提供针对 Java 的 SDK 和针对本地应用的 NDK 作为 API 。对于私有接口,Java 库通过 Java 类加载器 (ClassLoader) 对应用程序隐藏,而本地共享库库可以很容易地被访问。另一方面,Oreo 的 Project Treble 旨在通过将 Android 实现分为Framework 和 Vendor 两个部分来解决碎片化的生态系统。这种代码划分需要在一个进程中分别管理两个本机库的集合。面对这些挑战,Android 动态链接器引入了 命名空间 (namespace)来隔离动态链接空间。 Android 系统部署 命名空间 以防止应用程序与私有本地库动态链接,并在不同的沙箱中管理 Framework 和 Vendor 库。本文分析了Android Oreo 的 命名空间 ,包括动态链接器的机制以及它与高层策略的相互配合,并讨论了其影响和收益。
  • Google Breakpad:脱离符号的调试工具   2015-12-13
    Breakpad 是一套用于抓取应用崩溃数据的工具。Breakpad 可以在移除编译器调试信息后,抓取、压缩 minidump 信息,将其发送回你的服务器,然后为 C/C++ 生成调用栈。
  • QEMU:一个高速、可移植的动态翻译器   2014-03-05
    QEMU可以在多种主机(x86, PowerPC, ARM, Sparc Alpha and MIPS)上仿真多种客户机(x86, PowerPC, ARM and Sparc)。通过完备的系统仿真,QEMU支持在虚拟机中运行未经修改的操作系统;通过Linux用户模式仿真,还支持在不同CPU上运行Linux软件。

computer-architecture

  • 虚拟机与二进制翻译技术拾遗   2019-09-23
    虽然项目的成功与否不是技术能决定的,但技术依然长存,最多换个名字。
  • A Dual-TLB Method for MIPS Heterogeneous Virtualization   2015-02-07
    DBT directly translates and executes binary programs, enabling a compatible system by virtualizing one machine (guest) on another (host). However, the memory virtualization of guest brings in a great overhead, due to effort it takes to translate GVA into HPA (Host Physical Address). For QEMU, a DBT with efficient memory virtualization mechanism, more than 60% of the translated code is used to virtualize memory, thus leading to a low performance of guest. In this paper, we employ the Co-Design methodology to optimize memory access performance of guest. This optimization is primarily focused on two aspects. First, hardware extensions are designed and implemented to conduct GVA to HPA translation directly. Second, we modify QEMU to cooperate with hardware to reduce translated code. By this means, the cost of memory virtualization is completely eliminated, resulting in a significant enhancement of the performance of the Loongson binary translation system. The experimental data implies that the performance of guest has been dramatically improved by 100 times for peak performance and 19.12% for average performance over the previous system.
  • QEMU:一个高速、可移植的动态翻译器   2014-03-05
    QEMU可以在多种主机(x86, PowerPC, ARM, Sparc Alpha and MIPS)上仿真多种客户机(x86, PowerPC, ARM and Sparc)。通过完备的系统仿真,QEMU支持在虚拟机中运行未经修改的操作系统;通过Linux用户模式仿真,还支持在不同CPU上运行Linux软件。

virtual-machine

  • 虚拟机与二进制翻译技术拾遗   2019-09-23
    虽然项目的成功与否不是技术能决定的,但技术依然长存,最多换个名字。
  • NativeBridge - Manage Java Native Interface Functionality of Alternative Architecture on Android   2017-12-31
    Android, the most popular mobile operating system, hosts applications composed by Java code and native code. Java Virtual Machine of Android provides Java Native Interface functionality as the bridge of Java world and native world. As native world is platform dependent, it requires significant effort for application vendors to enable ARM applications, which are of the majority in Android ecosystem, on Non-ARM devices. Thus, Android is bind to ARM platform though it's a modern operating system. To address this issue, Android introduced NativeBridge to manage the Java Native Interface functionality of alternative architecture, such that a platform can support non-native applications on it. In this way, Android applications can run on any Android platforms regardless of the architecture.
  • A Dual-TLB Method for MIPS Heterogeneous Virtualization   2015-02-07
    DBT directly translates and executes binary programs, enabling a compatible system by virtualizing one machine (guest) on another (host). However, the memory virtualization of guest brings in a great overhead, due to effort it takes to translate GVA into HPA (Host Physical Address). For QEMU, a DBT with efficient memory virtualization mechanism, more than 60% of the translated code is used to virtualize memory, thus leading to a low performance of guest. In this paper, we employ the Co-Design methodology to optimize memory access performance of guest. This optimization is primarily focused on two aspects. First, hardware extensions are designed and implemented to conduct GVA to HPA translation directly. Second, we modify QEMU to cooperate with hardware to reduce translated code. By this means, the cost of memory virtualization is completely eliminated, resulting in a significant enhancement of the performance of the Loongson binary translation system. The experimental data implies that the performance of guest has been dramatically improved by 100 times for peak performance and 19.12% for average performance over the previous system.
  • QEMU:一个高速、可移植的动态翻译器   2014-03-05
    QEMU可以在多种主机(x86, PowerPC, ARM, Sparc Alpha and MIPS)上仿真多种客户机(x86, PowerPC, ARM and Sparc)。通过完备的系统仿真,QEMU支持在虚拟机中运行未经修改的操作系统;通过Linux用户模式仿真,还支持在不同CPU上运行Linux软件。

software-system

  • 虚拟机与二进制翻译技术拾遗   2019-09-23
    虽然项目的成功与否不是技术能决定的,但技术依然长存,最多换个名字。
  • QNNPACK 实现揭秘   2019-08-02
    QNNPACK 是 Facebook 开发的专门用于量化神经网络计算的加速库,其卓越的性能表现一经开源就击败了几乎全部已公开的加速算法。
  • 卷积神经网络优化算法   2019-07-24
    随着技术的发展,研究人员提出了多种卷积优化算法,包括 Im2col、Winograd 等等。本文简要介绍几种常见的优化方法,并讨论作者在该领域的一些经验。
  • 通用矩阵乘(GEMM)优化算法   2019-06-12
    本文简要介绍通用矩阵乘(General Matrix Multiplication)优化的基本概念和方法、神经网络量化中的优化方法。旨在帮助大家在概念中建立一些直觉,无甚高论。
  • Android Neural Networks API —— 一种神经网络软件系统中间层的设计与实现   2018-07-28
    随着深度学习的进一步发展,用于减轻框架层和硬件厂商开发代价的「中间层表示」以各种形式涌现:包括采用编译技术做图优化的、制定模型文件格式的、操作系统中间层的。本文重点介绍了操作系统中间层的代表 Android Neural Networks API 的软件架构、内部模块交互方式,并讨论了其设计。总体而言,Android Neural Networks API 简洁有效,符合软件系统的设计方法学。
  • 机器学习框架中的内存同步机制   2018-05-17
    现代机器学习框架支持在多种硬件设备上执行运行,而不同设备间的内存往往是独立管理的,即在某个时刻数据可能存储在不同的设备内存中。那么当网络的不同部分在不同的硬件设备上运行时,各个设备不一定总是拥有最新的数据,因而存在设备间同步数据的问题。
  • NativeBridge - Manage Java Native Interface Functionality of Alternative Architecture on Android   2017-12-31
    Android, the most popular mobile operating system, hosts applications composed by Java code and native code. Java Virtual Machine of Android provides Java Native Interface functionality as the bridge of Java world and native world. As native world is platform dependent, it requires significant effort for application vendors to enable ARM applications, which are of the majority in Android ecosystem, on Non-ARM devices. Thus, Android is bind to ARM platform though it's a modern operating system. To address this issue, Android introduced NativeBridge to manage the Java Native Interface functionality of alternative architecture, such that a platform can support non-native applications on it. In this way, Android applications can run on any Android platforms regardless of the architecture.
  • 基于命名空间的动态链接—— 隔离 Android 中应用程序和系统的本地库   2017-09-22
    Android 提供针对 Java 的 SDK 和针对本地应用的 NDK 作为 API 。对于私有接口,Java 库通过 Java 类加载器 (ClassLoader) 对应用程序隐藏,而本地共享库库可以很容易地被访问。另一方面,Oreo 的 Project Treble 旨在通过将 Android 实现分为Framework 和 Vendor 两个部分来解决碎片化的生态系统。这种代码划分需要在一个进程中分别管理两个本机库的集合。面对这些挑战,Android 动态链接器引入了 命名空间 (namespace)来隔离动态链接空间。 Android 系统部署 命名空间 以防止应用程序与私有本地库动态链接,并在不同的沙箱中管理 Framework 和 Vendor 库。本文分析了Android Oreo 的 命名空间 ,包括动态链接器的机制以及它与高层策略的相互配合,并讨论了其影响和收益。
  • Namespace based Dynamic Linking - Isolating Native Library of Application and System in Android   2017-06-20
    Android provides Software Development Kit (SDK, for Java) and Native Development Kit (NDK, for native language such as C and C++) as public Application Programming Interface (API, includes libraries). For private interface, Java libraries are hidden from applications by Java ClassLoader, while native libraries could easily be accessed previously. On the other hand, Project Treble of Android Oreo, aiming to address fragmented ecosystem by dividing Android implementation into Framework and Vendor part, needs to manage native libraries of two sets in one process separately. With these challenges, Android dynamic linker introduces namespace which isolates dynamic linking space. Android system deploys namespace to prevent applications from dynamically linking against private native libraries, and host Framework and Vendor libraries in different sandboxes. This article analyzes the namespace of Android Oreo, including the mechanism of dynamic linker as well as its inter-cooperation with system level namespace policy, and discusses the impacts and benefits.
  • Android Dynamic Linker in Marshmallow   2016-09-08
    Dynamic linker, links shared libraries together to be able to run, has been a fundamental mechanism in modern operating system and rich software ecosystem over the past decades. Dynamic linker is always highly platform-customized since it's coupled with binary format of a system. This article introduces the basic conception of dynamic linker and takes Android (Marshmallow) dynamic linker as example to discuss the implementation. We will see that dynamic link is a engineering-purpose mechanism rather than a theory-born one.
  • Google Breakpad:脱离符号的调试工具   2015-12-13
    Breakpad 是一套用于抓取应用崩溃数据的工具。Breakpad 可以在移除编译器调试信息后,抓取、压缩 minidump 信息,将其发送回你的服务器,然后为 C/C++ 生成调用栈。
  • A Dual-TLB Method for MIPS Heterogeneous Virtualization   2015-02-07
    DBT directly translates and executes binary programs, enabling a compatible system by virtualizing one machine (guest) on another (host). However, the memory virtualization of guest brings in a great overhead, due to effort it takes to translate GVA into HPA (Host Physical Address). For QEMU, a DBT with efficient memory virtualization mechanism, more than 60% of the translated code is used to virtualize memory, thus leading to a low performance of guest. In this paper, we employ the Co-Design methodology to optimize memory access performance of guest. This optimization is primarily focused on two aspects. First, hardware extensions are designed and implemented to conduct GVA to HPA translation directly. Second, we modify QEMU to cooperate with hardware to reduce translated code. By this means, the cost of memory virtualization is completely eliminated, resulting in a significant enhancement of the performance of the Loongson binary translation system. The experimental data implies that the performance of guest has been dramatically improved by 100 times for peak performance and 19.12% for average performance over the previous system.
  • QEMU:一个高速、可移植的动态翻译器   2014-03-05
    QEMU可以在多种主机(x86, PowerPC, ARM, Sparc Alpha and MIPS)上仿真多种客户机(x86, PowerPC, ARM and Sparc)。通过完备的系统仿真,QEMU支持在虚拟机中运行未经修改的操作系统;通过Linux用户模式仿真,还支持在不同CPU上运行Linux软件。

心灵对话

  • 思辩的局限   2018-09-04
    这篇文章从『方寸之间,咫尺天涯』算起已经是推倒重来的第六版。兴许这是最后一版。
  • 观念的自我塑造   2016-05-08
    人与人的观念差异远比我们想象中的要大得多。
  • 低俗小说   2016-04-09
    『真实、饱满、自由。最重要的是自由。但只有真实饱满的人物构造才能展现出其中的自由。』这是我对《低俗小说》最新的评价。
  • 但行好事,莫问前程   2015-03-18
    琐事与成见蒙蔽着我们的心智,如滴水穿石。面对生活中不可知,我们定义各种假设、规则,依靠他们来决策,尝试让生活变成一道道逻辑题,答案能够确定。这种行为填满了内心,消除了不安全感,而且心理上不需要为最后产生的结果负责。然而生活变得更美好了吗?我们变得更快乐了吗?

观影

  • 流浪地球   2019-02-16
    我认为改编电影是,一部以原著小说为背景,借鉴了瓦力、2001太空漫游、地心引力等影片的,具有浓烈中国特色的灾难片。
  • 低俗小说   2016-04-09
    『真实、饱满、自由。最重要的是自由。但只有真实饱满的人物构造才能展现出其中的自由。』这是我对《低俗小说》最新的评价。

android

  • Android Neural Networks API —— 一种神经网络软件系统中间层的设计与实现   2018-07-28
    随着深度学习的进一步发展,用于减轻框架层和硬件厂商开发代价的「中间层表示」以各种形式涌现:包括采用编译技术做图优化的、制定模型文件格式的、操作系统中间层的。本文重点介绍了操作系统中间层的代表 Android Neural Networks API 的软件架构、内部模块交互方式,并讨论了其设计。总体而言,Android Neural Networks API 简洁有效,符合软件系统的设计方法学。
  • NativeBridge - Manage Java Native Interface Functionality of Alternative Architecture on Android   2017-12-31
    Android, the most popular mobile operating system, hosts applications composed by Java code and native code. Java Virtual Machine of Android provides Java Native Interface functionality as the bridge of Java world and native world. As native world is platform dependent, it requires significant effort for application vendors to enable ARM applications, which are of the majority in Android ecosystem, on Non-ARM devices. Thus, Android is bind to ARM platform though it's a modern operating system. To address this issue, Android introduced NativeBridge to manage the Java Native Interface functionality of alternative architecture, such that a platform can support non-native applications on it. In this way, Android applications can run on any Android platforms regardless of the architecture.
  • 基于命名空间的动态链接—— 隔离 Android 中应用程序和系统的本地库   2017-09-22
    Android 提供针对 Java 的 SDK 和针对本地应用的 NDK 作为 API 。对于私有接口,Java 库通过 Java 类加载器 (ClassLoader) 对应用程序隐藏,而本地共享库库可以很容易地被访问。另一方面,Oreo 的 Project Treble 旨在通过将 Android 实现分为Framework 和 Vendor 两个部分来解决碎片化的生态系统。这种代码划分需要在一个进程中分别管理两个本机库的集合。面对这些挑战,Android 动态链接器引入了 命名空间 (namespace)来隔离动态链接空间。 Android 系统部署 命名空间 以防止应用程序与私有本地库动态链接,并在不同的沙箱中管理 Framework 和 Vendor 库。本文分析了Android Oreo 的 命名空间 ,包括动态链接器的机制以及它与高层策略的相互配合,并讨论了其影响和收益。
  • Namespace based Dynamic Linking - Isolating Native Library of Application and System in Android   2017-06-20
    Android provides Software Development Kit (SDK, for Java) and Native Development Kit (NDK, for native language such as C and C++) as public Application Programming Interface (API, includes libraries). For private interface, Java libraries are hidden from applications by Java ClassLoader, while native libraries could easily be accessed previously. On the other hand, Project Treble of Android Oreo, aiming to address fragmented ecosystem by dividing Android implementation into Framework and Vendor part, needs to manage native libraries of two sets in one process separately. With these challenges, Android dynamic linker introduces namespace which isolates dynamic linking space. Android system deploys namespace to prevent applications from dynamically linking against private native libraries, and host Framework and Vendor libraries in different sandboxes. This article analyzes the namespace of Android Oreo, including the mechanism of dynamic linker as well as its inter-cooperation with system level namespace policy, and discusses the impacts and benefits.
  • Android Dynamic Linker in Marshmallow   2016-09-08
    Dynamic linker, links shared libraries together to be able to run, has been a fundamental mechanism in modern operating system and rich software ecosystem over the past decades. Dynamic linker is always highly platform-customized since it's coupled with binary format of a system. This article introduces the basic conception of dynamic linker and takes Android (Marshmallow) dynamic linker as example to discuss the implementation. We will see that dynamic link is a engineering-purpose mechanism rather than a theory-born one.

认知谬误

  • 自动驾驶乱弹   2019-08-19
    一个可以明确的结论是,自动驾驶必将到来,不过还早。
  • 转基因食品的问题   2017-09-17
    我不打算讨论转基因食品对人体是否有害,这不是我的专业范畴。我想讨论的是基于某种潜在的威胁,我们是否要接纳转基因。

machine-learning

  • QNNPACK 实现揭秘   2019-08-02
    QNNPACK 是 Facebook 开发的专门用于量化神经网络计算的加速库,其卓越的性能表现一经开源就击败了几乎全部已公开的加速算法。
  • 卷积神经网络优化算法   2019-07-24
    随着技术的发展,研究人员提出了多种卷积优化算法,包括 Im2col、Winograd 等等。本文简要介绍几种常见的优化方法,并讨论作者在该领域的一些经验。
  • Neural Network Pruning Papers   2019-07-19
    List some papers related to Neural Networks Pruning that I have read recently.
  • 通用矩阵乘(GEMM)优化算法   2019-06-12
    本文简要介绍通用矩阵乘(General Matrix Multiplication)优化的基本概念和方法、神经网络量化中的优化方法。旨在帮助大家在概念中建立一些直觉,无甚高论。
  • 神经网络量化简介   2019-05-01
    介绍神经网络量化相关理论、算术、数学、研究和实现。
  • Neural Network Quantization Resources   2019-03-15
    List resources on neural network quantization here. Quantization are moving from research to industry (I mean real applications) nowdays (as in the begining of 2019). Hoping that this list may help.
  • Neural Network Quantization Introduction   2019-01-19
    Brings Neural Network Quantization related theory, arithmetic, mathmetic, research and implementation to you, in an introduction approach.
  • Android Neural Networks API —— 一种神经网络软件系统中间层的设计与实现   2018-07-28
    随着深度学习的进一步发展,用于减轻框架层和硬件厂商开发代价的「中间层表示」以各种形式涌现:包括采用编译技术做图优化的、制定模型文件格式的、操作系统中间层的。本文重点介绍了操作系统中间层的代表 Android Neural Networks API 的软件架构、内部模块交互方式,并讨论了其设计。总体而言,Android Neural Networks API 简洁有效,符合软件系统的设计方法学。
  • 机器学习框架中的内存同步机制   2018-05-17
    现代机器学习框架支持在多种硬件设备上执行运行,而不同设备间的内存往往是独立管理的,即在某个时刻数据可能存储在不同的设备内存中。那么当网络的不同部分在不同的硬件设备上运行时,各个设备不一定总是拥有最新的数据,因而存在设备间同步数据的问题。
  • 笔记:Machine Learning by Andrew Ng   2017-11-09
    只记录「以前」不知道或没注意或忘掉的信息。

购物指南

  • 如何(为 Mac)挑选显示器   2018-10-25
    如同键盘一样,作为电脑的另一个外设,显示器的挑选也很重要。本文主要介绍选择显示器的一点经验,以戴尔(Dell)显示器为主。选择戴尔的原因无他,唯「好用」、「便宜」尔
  • 如何挑选 Filco 机械键盘   2017-12-11
    玩过几把 Filco 的机械键盘,考虑到网上的介绍要么软文太多,要么过于零散,这里总结分享一下。

真正瞎编

  • 如花与狗子   2018-09-24
    城里早市的竞争是很激烈的,为此我还编了两首歌。希望有一天这歌能传唱到然家人那里,到时主仆重聚岂不美哉!
  • 干原治水   2018-06-07
    上大学的时候修过一门混学分的公选课——中国古代史。和所有其他的公选课一样,上课的学生要么旷课,要么缩在最后几排睡觉。但有一天下午老师讲的一个历史事件,直到今天仍然历历在目。

quantization

  • QNNPACK 实现揭秘   2019-08-02
    QNNPACK 是 Facebook 开发的专门用于量化神经网络计算的加速库,其卓越的性能表现一经开源就击败了几乎全部已公开的加速算法。
  • 通用矩阵乘(GEMM)优化算法   2019-06-12
    本文简要介绍通用矩阵乘(General Matrix Multiplication)优化的基本概念和方法、神经网络量化中的优化方法。旨在帮助大家在概念中建立一些直觉,无甚高论。
  • 神经网络量化简介   2019-05-01
    介绍神经网络量化相关理论、算术、数学、研究和实现。
  • Neural Network Quantization Resources   2019-03-15
    List resources on neural network quantization here. Quantization are moving from research to industry (I mean real applications) nowdays (as in the begining of 2019). Hoping that this list may help.
  • Neural Network Quantization Introduction   2019-01-19
    Brings Neural Network Quantization related theory, arithmetic, mathmetic, research and implementation to you, in an introduction approach.

optimization

  • QNNPACK 实现揭秘   2019-08-02
    QNNPACK 是 Facebook 开发的专门用于量化神经网络计算的加速库,其卓越的性能表现一经开源就击败了几乎全部已公开的加速算法。
  • 卷积神经网络优化算法   2019-07-24
    随着技术的发展,研究人员提出了多种卷积优化算法,包括 Im2col、Winograd 等等。本文简要介绍几种常见的优化方法,并讨论作者在该领域的一些经验。
  • 通用矩阵乘(GEMM)优化算法   2019-06-12
    本文简要介绍通用矩阵乘(General Matrix Multiplication)优化的基本概念和方法、神经网络量化中的优化方法。旨在帮助大家在概念中建立一些直觉,无甚高论。

黎明灰烬

Creative Commons License
归档 · 标签 · English

最近文章

黎明灰烬 博客 +