- NVDLA学习笔记(2)
夏风喃喃
#NVDLAnvidiaAI芯片加速器深度学习神经网络
NVDLA学习笔记(2)作者:夏风喃喃参考:http://nvdla.org/index.html文章目录NVDLA学习笔记(2)硬件手册:硬件架构规范一.绪论二.功能描述2.1卷积操作2.1.1直接卷积模式(DirectConvolutionMode)2.1.2图像输入卷积模式(Image-InputConvolutionMode)2.1.3Winograd卷积模式(WinogradConvol
- Can‘t locate XXX/XXX.pm in @INC (you may need to install the XXX::XXX module)
Augus qqq
perlphp
错误的日志如下,在执行tmake时,出现Can'tlocateCapture/Tiny.pm coco@nvdla:~/NVDLA/hw-master$ ./tools/bin/tmake -buildvmodCan'tlocateCapture/Tiny.pmin@INC(youmayneedtoinstalltheCapture::Tinymodule)(@INCcontains:/etc/p
- 手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(4)
仝佳轩
nvdlafpga开发神经网络人工智能
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(4)一.前言二.pytorch转onnx三.模型量化3.1如果校准数据为非图形数据集怎么办四.模型推理一.前言前一篇文章手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(3)截止上文已经实现了在ARM-FPGA中跑通一个demo历程。也恰恰说明了搭建的硬件和软件的正确性。那么如何转换设计的神经网络并且
- 开源深度学习加速器(NPU)NVDLA介绍
papaofdoudou
嵌入式系统多媒体算法深度学习人工智能
NPU设计的思路一般有两类套路,第一种是带指令集的,类似于DSP的设计思路,通过定义专用NN指令集配合紧致内存,逻辑上比较灵活,另一种是逻辑硬件化(加速器型)的,比如卷积算子,就真的去设计一个卷积电路,然后用过CMD驱使它去工作,今天介绍的NVDLA神经网络加速单元的实现思路属于后者。NVDLA官网:NVIDIADeepLearningAcceleratorNVDLA和做显卡也做加速器的NVDIA
- 【入坑第一步,配环境】linux-anaconda-pytorch_win-vscode
加盐8227
anacondapytorchcudaubuntu
linux下装anaconda装pytorch环境且在windows下用vscode远程调试一、Linux端1.装系统2.换源3.拨号上网4.装NVDLA驱动5.装CUDA6.装AnacondaAnaconda换源7.装pytorch二、Windows端1.装vscode2.使用SSH3.TMUX非科班,刚开始接触机器学习,师兄说,那你先跑跑别人的开源项目吧。那就跑吧,从GitHub上下了代码下了
- NVDLA Primer中文版(翻译)
liwenkaitop
文档/翻译深度学习人工智能
NVDLAPrimer中文版(翻译)译者前言摘要使用NVDLA加速Deeplearning推理SmallNVDLAsystem/ModelLargeNVDLAsystem/Model硬件架构连接方式组件Convolution卷积SingleDataPointProcessor(SDP)单数据点处理器PlanarDataProcessor(PDP)平面数据处理器Cross-channelDataPr
- NVDLA学习笔记(1)
夏风喃喃
#NVDLA深度学习神经网络nvidia加速器AI芯片
NVDLA学习笔记(1)作者:夏风喃喃参考:http://nvdla.org/index.htmlNVIDIA深度学习加速器(NVDLA)是一个免费和开放的架构,促进设计深度学习推理加速器的标准方法。NVDLA采用模块化架构,可扩展、高度可配置,旨在简化集成性和便携性。硬件支持广泛的IoT设备。文章目录NVDLA学习笔记(1)NVDLA入门一.概述二.使用NVDLA加速深度学习推理2.1小NVDL
- 手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(2)
仝佳轩666
nvdlafpga开发神经网络人工智能
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(2)一.前言二.构建内核linux4.192.1Petalinux2019.12.2构建内核linux4.192.2.1创建Petalinux工程2.2.2设置根文件启动方式2.2.3外挂文件系统2.2.4编译2.2.5KMD移植2.2.6设备树构建2.3SD卡分区2.4ubuntu16.04根文件系统移植2.5编译UMD三
- 手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(3)
仝佳轩666
nvdlafpga开发神经网络人工智能
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(3)一.前言二.编译运行demo文件2.1拉取ZYNQ-NVDLA2.2拉取Tengine2.3加载驱动2.4编译libjpeg6b2.5编译libprotobuf.a2.6编译runtime与compiler2.7编译Tengine2.7.1使用ZYNQ7000需要注意的问题三.运行demo一.前言前一篇文章手把手教你在F
- 如何编译并调试NVDLA编译器源码
仝佳轩666
nvdlacaffe深度学习人工智能
如何编译并调试NVDLA编译器源码一.NVDLA编译器1.1什么是NVDLA?1.2NVDLA软件栈是如何工作的1.3NVDLA软件栈存在的问题1.4基于TengineAI推理框架的NVDLA前端扩展二.如何编译和调试源码2.1在docker容器中运行nvdlacompiler2.2在ubuntu16.04上编译并运行nvdlacompiler三.源码调试技巧3.1基于GDB的调试方法3.1.1配
- 手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(1)
仝佳轩666
nvdlafpga开发网络
手把手教你在FPGA上移植NVDLA+Tengine并且跑通任意神经网络(1)一.简介1.1什么是NVDLA1.2什么是Tengine1.3模型部署过程简介1.4项目目标二.NVDLA硬件移植以及验证2.1硬件平台选择2.2RTL代码生成2.2.1什么是docker2.2.2用docker构建NVDLA硬件环境2.3IP核封装2.3.1新建VIVADO工程2.3.2建立顶层文件,修改接口电路2.3
- 推荐一些Github上的IC资源
不忘出芯
一起学Verilog
文章目录1.996.icu2.超过500星的Verilog项目2.1amiga2000-gfxcard2.2cliffordwolf/picorv322.3nvdla/hw2.4SI-RISCV/e200_opensource2.5darklife/darkriscv2.6VerticalResearchGroup/miaow3.超过500星SystemVerilog项目4.超过500星的VHDL
- nvdla study ---内存数据格式
erqiic
nvdla
理解nvdla设计,首先必须头脑中对数据格式及其内存存放形式有个清晰的认识。1输入格式1)weightdata输入格式:weightfordirectconvolutionweightforimageinputweightforWinogradconvolution2)activationdata输入格式:featuredataformatpixelformat(ROIinput)2输出格式fea
- 软硬件协同设计
erqiic
软硬件设计
软硬件设计一般都是一个完整的系统。软件部分包含操作系统等完整的嵌入式系统。硬件部分包含一个soc。但是,我们在开发过程中,一般都是集中在自己的算法的软硬件实现,其它部分不需要修改。因此我我们说的软硬件设计更多是自己算法的软硬件设计。以nvdla为例,这是个IP,嵌入到soc中。我们能探索的设计空间是nvdla的设计空间,而不是soc的设计空间,所以设计空间是分层次的。我们设计空间探索,也是分层次的
- 树莓派+nodejs打造物联网图传控制履带车
嵌入式资讯精选
1异构时代正在到来我们知道,此前在半导体产业,一般的芯片公司都只专注于少数几种种芯片,但近年来,芯片公司除了之前的纵向发展提升速度外,也越来越注重横向发展,开始整合各种不同类型的芯片。前不久,英伟达发布了其机器人平台——JetsonXavier,我们可以看到,这个平台包含了6种处理器:1个VoltaTensorCoreGPU、1个8核ARM64CPU、2个NVDLA深度学习加速器、1个图像处理器、
- nvdla vcs 编译出错 ld undefined reference to __cxa_throw_bad_array_new_length
XtremeDV
NVDLASystemC
__cxa_throw_bad_array_new_lengthwasaddedinGCC4.9.That'swhatthe@CXXABI_1.3.8versionsuffixmeans.Youcanlookupthoseversioncodeshere:https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.htmlThiserrormeansth
- NVDLA软件架构和源码解析 第一章—内核驱动【华为云技术分享】
华为云官方博客
驱动整体设计介绍不同的processorNvidiaDLA的内核驱动KMD(Kernelmodedriver)中,并不是把DLA当成一个设备来控制,而是把不同的功能模块当做不同的processor,分别进行任务的管理和控制。在相同processor里分先后,不同队列靠依赖关系控制。当前分了6个processor,代码中如下定义。#defineDLA_OP_BDMA0#defineDLA_OP_CO
- NVDLA中Winograd卷积的设计
暗海风
在AI芯片:高性能卷积计算中的数据复用曾提到,基于变换域的卷积计算——譬如Winograd卷积——并不能适应算法上对卷积计算多变的需求。但Winograd卷积依旧出现在刚刚公开的ARMEthos-N57和Ethos-N37NPUs的支持特性中,本文将利用Nvidia开源的NVIDIADeepLearningAccelerator(NVDLA)为例,分析在硬件中支持Winograd卷积的实现方式,代
- 全球首个软硬件推理平台 :NVDLA编译器正式开源
AI科技大本营
原文链接:https://mp.weixin.qq.com/mp/profile_ext?action=home\x26amp;__biz=MzI0ODcxODk5OA==\x26amp;scene=124#wechat_redirect作者|神经小姐姐来源|HyperAI超神经(ID:HyperAI)【导读】为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和
- 全球首个软硬件推理平台 :NVDLA编译器正式开源
AI科技大本营
原文链接:https://mp.weixin.qq.com/mp/profile_ext?action=home\x26amp;__biz=MzI0ODcxODk5OA==\x26amp;scene=124#wechat_redirect作者|神经小姐姐来源|HyperAI超神经(ID:HyperAI)【导读】为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和
- 全球首个软硬件推理平台 :NVDLA 编译器正式开源
HyperAI超神经
By超神经场景描述:为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和效率却具有挑战性。近日,英伟达开源了软硬件推理平台NVADLA编译器,一起来围观一下吧。关键词:英伟达深度学习加速器2017年,英伟达发布了深度学习加速器NVDLA,全称NVIDIADeepLearningAccelerator,以推动在定制硬件设计中采用高效的AI推理。在英伟达的开发套件J
- 全球首个软硬件推理平台 :NVDLA 编译器正式开源
HyperAI超神经
By超神经场景描述:为深度学习设计新的定制硬件加速器,是目前的一个趋势,但用一种新的设计,实现最先进的性能和效率却具有挑战性。近日,英伟达开源了软硬件推理平台NVADLA编译器,一起来围观一下吧。关键词:英伟达深度学习加速器2017年,英伟达发布了深度学习加速器NVDLA,全称NVIDIADeepLearningAccelerator,以推动在定制硬件设计中采用高效的AI推理。在英伟达的开发套件J
- NVDLA软件架构和源码解析 第一章—内核驱动
华为云
技术交流
驱动整体设计介绍不同的processorNvidiaDLA的内核驱动KMD(Kernelmodedriver)中,并不是把DLA当成一个设备来控制,而是把不同的功能模块当做不同的processor,分别进行任务的管理和控制。在相同processor里分先后,不同队列靠依赖关系控制。当前分了6个processor,代码中如下定义。#defineDLA_OP_BDMA0#defineDLA_OP_CO
- AI芯片:寒武纪DianNao,英伟达NVDLA和谷歌TPU1的芯片运算架构对比分析
evolone
IC设计AI芯片
前面几篇博客分别分析了目前市面上能够找到的各家AI芯片的结构。下面做一个阶段性的对比分析及总结。AI芯片运算架构对比整体来看,NVDLA的架构与寒武纪的DianNao比较像。所以,单位资源的性能应该是差不多的。二者性能的区别,就看资源的多寡了。寒武纪的DianNao,共16个PE,每个PE可以计算一个神经元,每个周期最多计算出16个神经元。NVDLA共2个core。每个core有8个mac。每个m
- AI芯片:英伟达NVDLA结构分析
evolone
VerilogAI芯片
英伟达开源了深度学习硬件架构:NVDLA。包括完整的源代码:Verilog代码,C_Model代码,以及验证平台代码。英伟达官网上也有详细的文档。英伟达NVDLA官网:http://nvdla.org/primer.html非常值得学习推敲。感谢英伟达的分享不得不吐槽一下,NVDLA的开源代码一看就知道是脚本生成的,造成重复代码非常多,非常不方便阅读。比如输入的1024位的数据,竟然在接口上是按照
- 标记化结构初始化
chifredhong
C++
最近在看NVDLA的runtime代码,发现代码里面对结构体的初始化,在成员变量前面加了一个点,感觉很奇怪。一查发现,这又是一个知识点的盲区。遂做个简单整理。在对结构体初始化是,通常使用C中常见的按声明顺序初始化的语法。这里在初始化时,在成员变量前加一个点是一种C99的语法,称为标记化结构初始化。下面,以代码为例,说明它的特点。runtime程序中对dla_engine的结构体声明如下,声明位置在
- 构建NVDLA vp时的错误
chifredhong
工具教程
1、make:*Noruletomaketarget错误make[4]:*Noruletomaketarget‘/home/chifred/NVDLA/NVDLA_debug/vp_large/libs/qbox/dtc/libfdt/fdt.c’,neededby‘libfdt/fdt.o’。停止。Makefile:342:recipefortarget‘subdir-dtc’failed原因:
- NVDLA:学习
清风飞扬go
NVDLA
最近比较忙,先写个题,后续整理资料,,,目前,根据官方教程搭建了VP仿真环境,能够运行caffe模型的alenet网络;并且通过修改代码把KMD输入的指令流截出来了,为了进行VMOD的仿真,只做input.txn文件,目前,还需要在KMD中把中断和存的模型以及图像数据,截出来,分析KMD对NVDLA的配置流程;
- 树莓派+nodejs打造物联网图传控制履带车
嵌入式资讯精选
1异构时代正在到来我们知道,此前在半导体产业,一般的芯片公司都只专注于少数几种种芯片,但近年来,芯片公司除了之前的纵向发展提升速度外,也越来越注重横向发展,开始整合各种不同类型的芯片。前不久,英伟达发布了其机器人平台——JetsonXavier,我们可以看到,这个平台包含了6种处理器:1个VoltaTensorCoreGPU、1个8核ARM64CPU、2个NVDLA深度学习加速器、1个图像处理器、
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1