<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hello,World]]></title><description><![CDATA[there is no fast track to success,and no highway to happiness]]></description><link>https://blog.youkuaiyun.com/baidu_24256693</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baidu_24256693]]></copyright><item><title><![CDATA[针对GPU单指令多数据流的编译优化算法]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/107149384</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/107149384</guid><author>baidu_24256693</author><pubDate>Mon, 06 Jul 2020 08:50:28 +0800</pubDate><description><![CDATA[1.单指令多数据流

首先来看一段简单的if-else语句：


if(A)
{
    B = 1;//Instruction S1
    C = 2;//Instruction S2
}
else
{
    B = 3;//Instruction S3
    C = 4;//Instruction S4
}


假设代码中每条语句转换成指令后分别是S1、S2、S3、S4.

如果在CPU的单指令单数据流中，A=true时会取指令S1和S2执行，A=false时会取指令S3和S4执行，不存在A=tr]]></description><category></category></item><item><title><![CDATA[从两届图灵奖(2018-2019)看GPU发展史]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/106175919</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/106175919</guid><author>baidu_24256693</author><pubDate>Sun, 17 May 2020 16:12:34 +0800</pubDate><description><![CDATA[1. 引言
多年以后，面对图形处理器（GPU）在人工智能、加密货币、高性能计算、自动驾驶等多研究领域的广泛应用，如今的游戏发烧友们是否会回想起，1999年Nvidia发布专业游戏显卡GeForce256时那个炎热的夏天？

GeForce256发布以后GPU一词才被大众所接受，实际上1994年索尼发布PS1的时候就提出了GPU的概念，当时使用的是由东芝为索尼设计的GPU。
而后来在2002年ATI（已被AMD收购）提出的VPU（Visual Processing Unit）一词则在时代的浪潮中消失无踪。
从]]></description><category></category></item><item><title><![CDATA[Homebrew详解]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/80603485</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/80603485</guid><author>baidu_24256693</author><pubDate>Thu, 07 Jun 2018 06:07:15 +0800</pubDate><description><![CDATA[Homebrew是Mac下得套件管理器，类似于Linux系统中的 yum 或者 apt-get ，它能让你的Mac更完美。mongodb则是NOSQL数据库，一种文档数据库，不同于传统的关系型数据库(mysql,orcal等)，这篇文章对brew做了基本介绍并使用brew在Mac下安装mongoddb以及其中的问题和注意事项（笔者笔记）最近工作需要完成的任务比较多，所以前一篇系列博客（基于gulp...]]></description><category></category></item><item><title><![CDATA[css浮动]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/80239594</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/80239594</guid><author>baidu_24256693</author><pubDate>Tue, 08 May 2018 14:51:13 +0800</pubDate><description><![CDATA[很早以前就接触过CSS，但对于浮动始终非常迷惑，可能是自身理解能力差，也可能是没能遇到一篇通俗的教程。 前些天小菜终于搞懂了浮动的基本原理，迫不及待的分享给大家。写在前面的话： 由于CSS内容比较多，小菜没有精力从头到尾讲一遍，只能有针对性的讲解。 如果读者理解CSS盒子模型，但对于浮动不理解，那么这篇文章可以帮助你。 小菜水平有限，本文...]]></description><category></category></item><item><title><![CDATA[微内核与宏内核]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/80150652</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/80150652</guid><author>baidu_24256693</author><pubDate>Mon, 30 Apr 2018 17:26:24 +0800</pubDate><description><![CDATA[1、内核概述 Kernel是OS的核心，提供了硬件级的抽象，它向外部提供了对计算机设备的核心管理调用。我们将操作系统的代 码分成2部分。内核所在的地址空间称作内核空间。而在内核以外的统称为外部管理程序，它们大部分是对外围设备的管理和界面操作。外部管理程序与用户进程所 占据的地址空间称为外部空间。 通常，一个程序会跨越两个空间。当执行到内核空间的一段代码时，我们称程序处于内核态，而当程序执行到外部空...]]></description><category></category></item><item><title><![CDATA[linux内核编译详解]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/80115354</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/80115354</guid><author>baidu_24256693</author><pubDate>Sat, 28 Apr 2018 04:36:26 +0800</pubDate><description><![CDATA[前言Linux内核是Linux操作系统的核心，也是整个Linux功能体现的核心，就如同发动机在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管理、设备管理、网络管理等。Linux内核是单内核设计，但却采用了微内核的模块化设计，支持内核线程以及动态装载内核模块的能力。Linux作为一个自由软件，在广大爱好者的支持下，内核版本不断更新。新的内核修订了旧内核的bug，并增加了许多新的特性。如果...]]></description><category></category></item><item><title><![CDATA[linux内核调度的时机]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79922620</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79922620</guid><author>baidu_24256693</author><pubDate>Fri, 13 Apr 2018 05:49:33 +0800</pubDate><description><![CDATA[进程切换有自愿(Voluntary)和强制(Involuntary)之分，在前文中详细解释了两者的不同，简单来说，自愿切换意味着进程需要等待某种资源，强制切换则与抢占(Preemption)有关。抢占(Preemption)是指内核强行切换正在CPU上运行的进程，在抢占的过程中并不需要得到进程的配合，在随后的某个时刻被抢占的进程还可以恢复运行。发生抢占的原因主要有：进程的时间片用完了，或者优先级更...]]></description><category></category></item><item><title><![CDATA[linux任务调度之schedule与schedule_tick函数]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79921760</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79921760</guid><author>baidu_24256693</author><pubDate>Thu, 12 Apr 2018 23:03:33 +0800</pubDate><description><![CDATA[CFS and Periodic Scheduler (scheduler_tick())In Linux Scheduler, Work In Progress on July 3, 2012 at 5:26 pmThis article explains scheduler_tick(), the periodic linux scheduler.What is scheduler_tick(...]]></description><category></category></item><item><title><![CDATA[详解Linux内核进程调度函数schedule()的触发和执行时机]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79921291</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79921291</guid><author>baidu_24256693</author><pubDate>Thu, 12 Apr 2018 22:22:52 +0800</pubDate><description><![CDATA[详解Linux内核进程调度函数schedule()的触发和执行时机内核的调度操作分为触发和执行两个部分，触发时仅仅设置一下当前进程的TIF_NEED_RESCHED标志，执行的时候则是通过schedule()函数来完成进程的选择和切换。当前进程的thread_info-&amp;gt;flags中TIF_NEED_RESCHED位表示需要调用schedule()函数进行调度。内核在两种情况下会设置该标志，...]]></description><category></category></item><item><title><![CDATA[Clang与LLVM的关系]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79905396</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79905396</guid><author>baidu_24256693</author><pubDate>Wed, 11 Apr 2018 23:35:11 +0800</pubDate><description><![CDATA[LLVM是构架编译器(compiler)的框架系统，以C++编写而成，用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)，对开发者保持开放，并兼容已有脚本。LLVM计划启动于2000年，最初由University of Illinois at Urbana-Champaign的Chr...]]></description><category></category></item><item><title><![CDATA[error CONFIG_PHYSICAL_START must be a multiple of 2MB]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79888349</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79888349</guid><author>baidu_24256693</author><pubDate>Tue, 10 Apr 2018 21:37:57 +0800</pubDate><description><![CDATA[编译2.6.32内核时出现错误error CONFIG_PHYSICAL_START must be a multiple of 2MB解决方法如下：执行make menuconfig会出现内核配置界面然后进入Processor type and features在界面的底部会看到Physical address where the kernel is loaded然后将physical addr...]]></description><category></category></item><item><title><![CDATA[make降级]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79888302</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79888302</guid><author>baidu_24256693</author><pubDate>Tue, 10 Apr 2018 21:32:08 +0800</pubDate><description><![CDATA[一、问题背景Ubuntu 15.04以上的make版本都已经是4.0+，官方目前推荐的编译环境还是基于Ubuntu 14.04，虽然15.04以上也是可以编译的，但是MTK的某些平台会编译通过。二、如何更新make？1、下载make 3.81 make工具的官方镜像地址：http://ftp.gnu.org/gnu/make/ ，下载指定版本的make源码包，这里我们下载make-3.81.tar...]]></description><category></category></item><item><title><![CDATA[virtual box虚拟机在linux下设置共享文件夹]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79875005</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79875005</guid><author>baidu_24256693</author><pubDate>Tue, 10 Apr 2018 00:26:45 +0800</pubDate><description><![CDATA[1. 安装增强功能包(Guest Additions)安装好Ubuntu 11.04 后，运行Ubuntu并登录。然后在VirtualBox的菜单里选择&quot;设备(D)&quot; -&amp;gt; &quot;安装增强功能(I)...&quot;。您会发现在Ubuntu桌面上多出一个光盘图标，这张光盘默认被自动加载到了文档夹/media/VBoxGuestAdditions-4.1.4进入命令行终端，输入：cd /media/VBox...]]></description><category></category></item><item><title><![CDATA[fork、vfork、clone的区别与联系]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79843352</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79843352</guid><author>baidu_24256693</author><pubDate>Sat, 07 Apr 2018 17:36:32 +0800</pubDate><description><![CDATA[因为生活的复杂，这是一个并行的世界，在同一时刻，会发生很多奇妙的事情，北方下雪，南方下雨，这里在吃饭，那边在睡觉，有人在学习，有人在运动，所以这时一个多彩多姿的世界，每天都发生着很多事情，所以要想很好的表现这个世界，协调完成一件事儿，就得用到多进程或者多线程。所以进程是程序猿一定会接触到的一个东西，他能使我们的程序效率提高，高效的完成多任务，并行执行。下面主要看看产生进程或线程的三个函数。    ...]]></description><category></category></item><item><title><![CDATA[sftp上传文件到远程主机]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79843318</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79843318</guid><author>baidu_24256693</author><pubDate>Sat, 07 Apr 2018 17:33:16 +0800</pubDate><description><![CDATA[sftp是什么？sftp(Secure File Transfer Protocol)安全的文件传输协议。sftp是ssh的一部分，使用sftp时也是通过ssh建立一个可靠的通信线路来进行文件传输的。sftp的用法登录远程主机[plain] view plain copysftp username@remote_hostname_or_IP  进入sftp后的操作查询帮助手册[html] view...]]></description><category></category></item><item><title><![CDATA[SSH无密码登录]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79843274</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79843274</guid><author>baidu_24256693</author><pubDate>Sat, 07 Apr 2018 17:29:33 +0800</pubDate><description><![CDATA[SSH无密码登录如果你管理一台Linux服务器，那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是一个多么繁琐的过程．这篇教程介绍使用SSH Key来实现SSH无密码登录．SSH无密码登录的设置步骤首先我们在自己的Linux系统上生成一对SSH Key：SSH密钥和SSH公钥．密钥保存在自己的Linux系统上。然后公钥上传到Linux服务器．之后我们就能无密码SSH登录了．SSH...]]></description><category></category></item><item><title><![CDATA[内核的Kconfig文件详解]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79730833</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79730833</guid><author>baidu_24256693</author><pubDate>Wed, 28 Mar 2018 17:20:59 +0800</pubDate><description><![CDATA[内核是个复杂庞大的系统，对它进行配置、裁剪、编译原本非常的复杂和困难，但现在我们却只需要简单的2个命令make menuconfig和make uImage就搞定了，原因是在其背后有一个设计精巧的内核构造系统帮我们精确完成了各项任务。内核构造系统最关键的组成元素就是各个目录下的Kconfig文件和Makefile文件，本文将对这2类文件进行介绍，以使大家了解内核构造系统的基本情况，从而能够修改他们...]]></description><category></category></item><item><title><![CDATA[EDF]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79319385</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79319385</guid><author>baidu_24256693</author><pubDate>Mon, 12 Feb 2018 23:10:16 +0800</pubDate><description><![CDATA[1. 最早截止时间优先EDF（Earliest DeadlineFirst）算法是非常著名的实时调度算法之一。在每一个新的就绪状态，调度器都是从那些已就绪但还没有完全处理完毕的任务中选择最早截止时间的任务，并将执行该任务所需的资源分配给它。在有新任务到来时，调度器必须立即计算EDF，排出新的定序，即正在运行的任务被剥夺，并且按照新任务的截止时间决定是否调度该新任务。如果新任务的最后期限早于被中断的...]]></description><category></category></item><item><title><![CDATA[Implementing a new real-time scheduling policy for Linux]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/79318448</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/79318448</guid><author>baidu_24256693</author><pubDate>Mon, 12 Feb 2018 19:20:08 +0800</pubDate><description><![CDATA[Implementing a new real-time scheduling policy for Linux: Part 1Paulo Baltarejo Sousa and Luis Lino Ferreira, Polytechnic Institute of Porto7/26/2010 1:42 PM EDTModifying any part of the Linux kernel ...]]></description><category></category></item><item><title><![CDATA[向量范数与矩阵范数]]></title><link>https://blog.youkuaiyun.com/baidu_24256693/article/details/78414698</link><guid>https://blog.youkuaiyun.com/baidu_24256693/article/details/78414698</guid><author>baidu_24256693</author><pubDate>Wed, 01 Nov 2017 15:35:54 +0800</pubDate><description><![CDATA[1.范数(norm)的意义
要更好的理解范数，就要从函数、几何与矩阵的角度去理解。 
我们都知道，函数与几何图形往往是有对应的关系，这个很好想象，特别是在三维以下的空间内，函数是几何图像的数学概括，而几何图像是函数的高度形象化，比如一个函数对应几何空间上若干点组成的图形。

但当函数与几何超出三维空间时，就难以获得较好的想象，于是就有了映射的概念，映射表达的就是一个集合通过某种关系转为另外]]></description><category></category></item></channel></rss>