首页 文章 精选 留言 我的

精选列表

搜索[古德哈特定律],共4306篇文章
优秀的个人博客,低调大师

浪潮在德发布可灵活扩展的AI加速计算产品GX4

在法兰克福举行的国际超算大会ISC17上,浪潮发布了新型AI加速计算产品GX4,实现CPU与GPU、Xeon Phi以及FPGA等协处理加速资源解耦并可随需扩展计算性能,为多样化的AI应用提供极具弹性的加速计算支撑。这是浪潮在AI计算方面继上月在美国GTC 2017发布超高密度AI超算AGX-2后又一重要创新产品。 AI加速计算产品GX4发布现场 GX4率先实现了协处理器与CPU计算资源的解耦和重构,可支持GPU、Xeon Phi和FPGA等不同架构的协处理器,满足AI云、深度学习模型训练和线上推理等各种AI应用场景对计算架构性能、功耗的不同需求。更重要的是,GX4通过标准机架服务器链接协处理器计算扩展模块的形式完成计算性能扩展,消除了需要改变系统和主板设计才能调整计算拓扑的弊端,4这种独立的加速计算模块设计极大提升了系统部署弹性,既能轻松实现2到16卡的高扩展性,也能通过改变服务器与扩展模块的链接方式实现快速灵活的拓扑转换,,使计算架构与上层应用更匹配,发挥出AI计算集群的最大性能。 GX4产品图片 GX4突破了常规AI计算设备的8卡扩展限制,实现了更高的单机计算性能。每个GX4可在2U空间内支持4块加速卡,而单台服务器最高可扩展链接4台GX4从而实现单机16卡的加速计算池。 浪潮集团海外事业部副总经理Jay Zhang 浪潮集团海外事业部副总经理Jay Zhang表示,GX4充分考虑了AI深度学习训练样本量的显著差异,以灵活的扩展形式敏捷支持不同级别的AI模型训练,有效降低了能耗与延迟,将为全球从事人工智能研究的商业公司与研究机构提供一种灵活创新的AI计算解决方案。 目前,浪潮正在全力推动智慧计算业务的开展,该项业务被浪潮视为未来最核心的业务之一,包含了云计算、大数据与深度学习。值得关注的是,浪潮已成为中国AI领域最大的计算平台供应商,其AI解决方案在中国占有率达到60%,其中在BAT的AI解决方案占有率已达到80%,在科大讯飞、Face++等智能语音、智能图像领域也已实现广泛应用。 原文发布时间为:2017年6月20日 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

优秀的个人博客,低调大师

【AI版摩尔定律】10张图盘点计算机视觉、语音和文本理解里程碑

现在的AI发展到什么水平了?我们总说“超越人类水平”,有没有一个量化的标准,来让我们理性的认识AI发展水平,刺破火热AI的迷雾?电子前沿基金会 EFF正在致力于这一方向研究。从近期微软宣布语音识别错误率降至5.1%,与人类水平相当谈起,这篇文章将介绍目前AI领域最为知名的发展水平衡量标准,涉及计算机视觉、文本理解、语音识别、翻译、游戏等多个方向。包括ImageNet、CIFAR-10、COCO等多个近年来受到广泛关注的数据集以及取得最好成绩的模型的介绍。 微软上周宣布,在语音转文字上,他们的软件取得了新的突破。在一个标准的电话语音通话数据库中,微软的系统的识别错误率为:每20个单词只有1个错误,这与人类的水平相当。 在一系列被人们认为是能证明人工智能的进步正在逐步加速,将大大促进经济增长的证据中,这一结果是最新的一例。 一些软件已经被证

优秀的个人博客,低调大师

拆解“韬定律”:3D空间升维与光电协同,谁在主导先进封测的下半场?

前几天,华为海思半导体业务负责人何庭波发布了《多层电子系统的时间缩放理论》的最新V2版本,论文正式在中国科学院科技论文预发布平台上线,相比于V1版本带来了更多工程实测数据和图表。比如说一开始提到的麒麟2026上的一组关键数据,那就是在相同的成熟工艺节点之下,麒麟2026采用了LogicFolding双层逻辑折叠,能够让晶体管密度从155 MTr/mm² 大幅提升至238 MTr/mm²,提升了约53.5%,除此之外,同等性能下 CPU 跑到 3.1GHz 时的能效还优化了 13%,SRAM 频率更是直接拉高了 40% 以上。照这个测试进度,今年秋天搭载全新“麒麟 9050”架构的 Mate 90 系列大概率就能落地了。下周的世界人工智能大会上即将亮相的Atlas 950 SuperPoD 超节点,这套底座直接上了灵衢 2.0 光互联协议,单集群规模堆到了 8192 张卡,整机总互联带宽直接干到了 16PB/s。

优秀的个人博客,低调大师

程序员真香定律:我永不加班!困扰了程序员20年的10大难题

程序猿最艰巨的任务跟编写代碼没得几个关系。编码是逻辑构思的一种实践,这跟程序猿日常工作中的其他任务比起来相对简单。如果你觉得自身還是1个技术水平普通的程序猿,在你真正的能进入到顶尖高手行列前,请保证你已经战胜了下述晋升的阻碍。 1. 解释你在干什么 解释软件开发过程是1个很艰难的事情。那些非程序猿岗位的人或许了解许多有关编程的事情,但很显然,他们不会编程。对于他们而言,我们的生活只是在一间漆黑的房间内趴到键盘前消耗着咖啡。 你会在你的朋友、亲人和同事中遇上这样的人,他会觉得编码并不是1个合理的岗位。 2. 形象的说出软件解决方案 依据某些简短的要求——一般是一知半解的,你需要设计出数据结构,软件架构,代碼算法,通信协议,以及别的任何针对商业问題的解决方法各种构成。并且你必须用某种外行人听的懂的用语将它们表达出来,并需要在要求的時间里提交给客户。 非常少有程序猿能做到这些。 3. 评估工期 这是程序猿痛苦的本源。在开发任务没有完成以前,你是絕對没有可能确定完成这个任务需要的時间。或许程序跟之前写的很类似,但环境变了,问題变了,限定条件变了。 工作经验会提供一定的辨别力,但多数的程序猿都习惯于低估问題難度。这其中的缘故是他们只考虑到编码这方面的要素,而忽视了这个任务清单上的其余事务。 应对1个问題可能会有一万种解决方法,一万种写法。接手其他人写的代碼,代表你要花很多的時间在无数的代碼行里探寻,了解当时原作者的基本思路。并且,要是是1个不相信注释和文档的程序猿留下来的半个工程项目,麻烦事就更大了。 5. 软件边界的模糊蔓延和让人吐血的奇怪功能需求 尽管敏捷开发方法给软件范围的膨胀提供了一定的预备空间,但这并没有带来任何的功效——特别是在是当你碰到某些由一时兴起的怪念头形成的功能需求。你知道这样做一定会失败。你的团队判断这样做一定会失败。但客户认为不错,而当失败不可避免的出現时,全是你的错,因为是你没有了解他们的真正意图。 6. 在缺少优化和过度优化之间找到平衡点 复杂的软件永遠不会作到极致;总会有一些更好的实施方案。你完全可以不停的优化下去,这就是说为啥软件项目从来都没有提早完工的。 而另一面,“这样就行——我之后会优化它的”这类心态也是普遍的。代碼今日好使,但你知道明日可能会出現麻烦或不能用。当然了,你是不需要去修改它的,它将会交给下一个倒霉鬼程序猿。 7. 测试你的代码 单元测试你也写了,软件也提交了测试组,但Bug仍旧存有…… 软件是复杂的,将会含有成百上千行代碼。系统中或者存有千万的各类交互和逻辑路径;你不可能彻底测试它们。 相似的,软件会在不一样的条件下跟不一样的平台上的不一样的软件交互。你不可能所有的都测到。 学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频 写出好的单元测试是一种乏味且艰辛的工作。理想状况下,测试应当在着手开发设计前就早已写好——但你如何向客户解釋为何4个礼拜结束了依然没有能用的软件? 单元测试并不能覆盖每个问题点。在理想的世界里,应该有一个独立的团队来写测试并积极的去发现问题。不幸的是,对大多数项目来说,这样成本太高,时间不够,于是用开发团队来写测试程序。而开发团队潜意识的会避免很多极端的边界情况。 程序员喜欢用符合逻辑的方式处理所有问题。但用户很少是这样的。他们会发现你永远意想不到的问题。 8. 写软件文档 给代码写文档是一项费力耗时的工作。很少有程序员擅长这个、喜欢这个的,并且很少有程序员会花时间去读它们。 9. 处理IT问题 你每天都在研究技术。你也许是一个HTML或PHP程序员,但你很可能会遇到一些例如硬盘损坏、驱动冲突或软件崩溃的问题。解决这些事情不是你的主要责任,但是,除非你解决了这些问题,否者你将无法继续你的开发工作。 不幸的是,对于IT圈外的人来说,程序员应该是软硬件都精通的人。当他们遇到了问题,他们自己不花时间就解决,直接会找你。不论是遇到什么问题:你是用计算机的,你一定知道如何将预算表导入Sage,如何配置Oracle,或为何在他们的黑莓手机上发不出邮件。 当然了,这些打搅绝对不能成为你完不成工作的理由,也没有报酬,不是吗? 10. 处理人的问题 上面的这些难题都可以总结为“人的问题”。很少有外行人会去建议1个飞行员如何开飞机或建议一个电器工程师如何布线。但很多人却会兴致勃勃的勇敢的建议如何开发软件。 我相信对于这些人没有什么好办法。你需要接受这样的事实:这世界上有一半的智商是低于平均水平的! ... 如有侵权,请联系删除

优秀的个人博客,低调大师

面试官不讲伍德,问我一个查询SQL的具体执行流程

前言 最近朋友小王正在找工作,然后有一个面试官问他知不知道 “查询SQL具体的执行流程” 。 小王说不知道呀,然后面试官直接对小王说:小伙子 耗子尾汁(好自为之) ,怎么连这么简单的都不知道呢? 小王听后脱口而出:哼!面试官你 不讲武德 ,不按套路出牌呀,你应该问问索引相关的知识呀,这个我倍清楚。 在听完小王描述后,自己也在脑海中搜了搜这个知识点,可怜的是我的知识库里也没找到相关内容,然后就去面壁思过了,随后本文就诞生了。 注意 :本文主要以 MySql 为例;说到了MySql了,然后再唠叨下现在使用十分普遍的MySql的姊妹数据库 MariaDB 。 MariaDB 是个什么东东呢? MySql被Oracle收购后,MySql的创始人担心MySql数据库发展的未来(开发缓慢、封闭、可能会被闭源),于是创建了一个分支MariaDB,默认使用全新的Maria存储引擎,它是原来Mysql中的 MyISAM 存储引擎的升级版。 本文主线: ①、MySql的整体架构描述; ②、Server层各节点描述; ③、InnoDB存储引擎描述; MySql架构描述 咱啥也先不说,先贴上一张摘抄自网上的大图: 上面这张图描述的清不清晰呢?不清晰,那别着急,咱再贴一张: Server服务层描述: 通过上面的架构图可以得知,Server层中主要由 连接器、查询缓存、解析器/分析器、优化器、执行器 几部分组成的,下面将主要描述下这几部分。 连接器 客户端想要对数据库进行操作时,前提是与数据库建立好连接;而连接器就是用来负责跟客户端建立连接、获取权限、维持和管理连接的。 连接方式: MySQL既支持短连接,也支持长连接。短连接就是操作完毕后,马上close关掉。 长连接可以保持打开,减少服务端创建和释放连接的消耗,后面的程序访问的时候还可以使用这个连接。 一般我们会在连接池中使用长连接。 长连接使用时的注意事项: 客户端与服务器建立长连接,默认有效时间是 8小时 ,超过8小时MySql服务器就会将连接断开了,那么客户端再次请求的话,就会报 连接已断开的问题 ; 并且保持长连接会消耗内存。长时间不活动的连接,MySQL服务器会断开。那这个8小时的超时时间怎么查看呢? -- 非交互式超时时间,如 JDBC 程序 show global variables like 'wait_timeout'; -- 交互式超时时间,如数据库工具 show global variables like' interactive_timeout'; 执行后得到下图结果:默认都是28800秒,8小时 。 一般项目中使用的连接池中的连接都是长连接的;(例如:druid、c3p0、dbcp等) 举个例子,说明下长连接超时断开导致的实际问题: 某个朋友的公司有个管理系统,这个系统使用的时Mysql,但是他最近遇到了一个问题:就是系统明明前天是好用的,但是第二天去到公司后就打不开了,只要将系统重启就好了,一时间不知道什么原因,什么鬼嘛,苦恼? 最后通过查看日志才发现是连接池中的连接都断开了,因为从前天到第二天上班这之间隔得时间超过了8小时了。 唉,这么个小知识点导致好几天的困惑,实在不该呀,还是知识掌握的不全面呀。 好了,现在也找到问题原因了,但是它该怎么解决呢? 长连接超时断开的解决方案: ①、定期断开长连接。使用一段时间,或者程序里面判断执行过一个占用内存的大查询后,断开连接,之后要查询再重连。 ②、如果你用的是 MySQL 5.7 或更新版本,可以在每次执行一个比较大的操作后,通过执行 mysql_reset_connection 来重新初始化连接资源。这个过程不需要重连和重新做权限验证,但是会将连接恢复到刚刚创建完时的状态。 查询缓存 MySQL缓存是默认关闭的,也就是说不推荐使用缓存,为什么呢? MySql为什么默认不开启缓存呢? 主要是由于它的使用场景限制的: ①、先说下缓存中数据存储格式:key(sql语句)-value(数据值);所以如果SQL语句(key)只要存在一点不同之处就会直接进行数据库查询了; ②、由于表中的数据不是一成不变的,大多数是经常变化的,而当数据库中的数据变化了,那么相应的与此表相关的缓存数据就需要移除掉; 需要注意的是, MySQL 8.0 版本直接将查询缓存的整块功能删掉了,也就是说8.0开始彻底没有这个功能了。 分析器 分析器的工作主要是对要执行的SQL语句进行解析,最终得到抽象语法书,然后再使用预处理器判断抽象语法树中的表是否存在,如果存在的话,在接着判断select投影列字段是否在表中存在等。 词法分析 词法分析用于将SQL拆解为不可再分的原子符号,称为Token。并根据不同数据库方言所提供的字典,将其归类为关键字,表达式,字面量和操作符。 语法分析 语法分析就是根据词法分析拆解出来的Token(原子符号)将SQL语句转换为抽象语法树。下面就直接举例说明,看一个SQL它的抽象语法书到底长神魔样: SQL语句: SELECT id, name FROM t_user WHERE status = 'ACTIVE' AND age > 18 然后上面的SQL语句经过词法分析、语法分析后得到的抽象语法书如下: 图片摘自:https://shardingsphere.apache.org/document/legacy/3.x/document/cn/features/sharding/principle/parse/ 注意,为了便于理解,抽象语法树中的关键字的Token用绿色表示,变量的Token用红色表示,灰色表示需要进一步拆分。 预处理器 预处理是用来对生成的 抽象语法树 进行语义校验,语义校验就是对查询的表、select投影列字段进行校验,判断表、字段是否存在等; 优化器 优化器的作用: 主要是将SQL经过词法解析/语法解析后得到的语法树,通过MySQL的数据字典和统计信息的内容,经过 一系列运算 ,从而得出一个 执行计划 。 在优化过程中,经过的一系列运算是什么呢?下面简单说下: ①、逻辑变换:例如SQL的where条件中存在 8>9,那逻辑转换就是将语法树中存在的这种常量表达式直接进行化简,化简为 false;除了化简还有常量表达式计算等。 ②、代价优化:就是通过付出一些数据统计分析的代价,来得到这个SQL执行是否可以走索引,以及走哪些索引;除此之外,在多表关联查询中,确定最终表join的顺序等; 在分析是否走索引查询时,是通过进行 动态数据采样统计分析 出来;只要是统计分析出来的,那就可能会存在分析错误的情况,所以在SQL执行不走索引时,也要考虑到这方面的因素。 MySql执行计划怎么查看呢? 在执行的SQL语句前添加上 explain 关键字即可; 扩展: Oracle怎么查看执行计划? 参考此文章 Oracle通过执行计划查看查询语句是否使用索引 执行器 MySQL 通过分析器知道了你要做什么,通过优化器知道了该怎么做,于是就进入了执行器阶段,开始执行语句。 开始执行的时候,要先判断一下建立连接的对象对这个表有没有执行操作的权限,如果没有,就会返回没有权限的错误;如果有,就按照生成的执行计划进行执行。 通过文章最开始的架构图可知,执行器下面连接的就是存储引擎了,执行器就是通过调用存储引擎提供的API接口进行调用操作数据的。 存储引擎描述 存储引擎是对底层物理数据执行实际操作的组件,为Server服务器层提供各种操作数据的 API。MySQL 支持插件式的存储引擎,包括 InnoDB 、MyISAM、Memory 等。一般情况下,MySQL默认使用的存储引擎是 InnoDB 。 InnoDB 存储引擎支持的功能总览 扩展 InnoDB存储引擎深入学习,啥也不说了,先贴上其整体架构图:如下图所示,InnoDB存储引擎整体分为内存架构(Memory Structures)和磁盘架构(Disk Structures)。 如果想深入学习,请参考此文章 你居然还不知道Mysql存储引擎InnoDB分为内存架构、磁盘架构? ♡ 点赞 + 评论 + 转发 哟 您可以VX搜索【木子雷】公众号,坚持高质量原创java技术文章,福利多多哟! 如果本文对您有帮助的话,请挥动下您爱发财的小手点下赞呀,您的支持就是我不断创作的动力,谢谢! 参考资料 ①、查询sql的执行过程及MySQL架构分析 ②、执行SQL查询语句时,其底层到底经历了什么?

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册