hackairM
码龄12年
关注
提问 私信
  • 博客:79,228
    社区:1,282
    80,510
    总访问量
  • 17
    原创
  • 392,019
    排名
  • 36
    粉丝
  • 0
    铁粉

个人简介:0001 1000 0001 0000 0001 0011 0101 1000 0100 0101 0101

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2013-04-17
博客简介:

Yi_M的博客

查看详细资料
个人成就
  • 获得33次点赞
  • 内容获得20次评论
  • 获得163次收藏
创作历程
  • 1篇
    2018年
  • 16篇
    2016年
成就勋章
TA的专栏
  • 算法设计
    6篇
  • CUDA实现
    8篇
  • 计算机图形学
  • Akka-Actor
    1篇
创作活动更多

新星杯·14天创作挑战营·第9期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛! 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见 https://bbs.csdn.net/topics/619626357 2、文章质量分查询:https://www.csdn.net/qc

475人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Actors 介绍

Actor 模型为编写实时分布式系统提供了一个更高级别的抽象。开发者不再需要处理锁和线程的管理,能够更轻松的实现正确的实时并发系统。它包装了状态和动作,相互之间通过将消息放在接收者的 mailbox 中进行信息交换处理。某种程度上,actor 可以说是要求严格的一种面向对象编程模式,但使用起来其实很方便:当用actors建模一种解决方案时,想象这是一群人被赋予了子任务,在组织架构中安排他们工作方法...
原创
发布博客 2018.12.23 ·
1157 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

CUDA学习--内存处理之全局内存(5)

1. 全局内存GPU的全局内存之所以是全局的,主要是因为GPU与CPU都可以对它进行写操作。CPU主机端处理器可以通过以下三种方式对GPU上的内存进行访问:显示地阻塞传输;显示地非阻塞传输;隐式地使用零内存复制。通常的执行模型是CPU将一个数据块传输到GPU,GPU内核对其进行处理,然后再由CPU将数据块传输回主机端内存中。比较高级的模型是使用流(参考CUDA学习–CUDA流)将数据传输和内
原创
发布博客 2016.10.03 ·
7631 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

CUDA学习--内存处理之常量内存(4)

1.常量内存常量内存,顾名思义,它是只读内存。这种类型的内存要么是在编译时声明为只读内存,要么是在运行时通过主机端定义为只读内存。常量只是从GPU内存的角度而言。在编译时声明一块常量内存,需要用到const关键字。 常量内存其实只是全局内存的一种虚拟地址形式,并没有特殊保留的常量内存块。常量内存有两个特性,一个是高速缓存,另一个是它支持将单个值广播到线程束中的每个线程。但要注意的是,对于那些数据不
原创
发布博客 2016.10.03 ·
5262 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

CUDA学习--内存处理之寄存器(2)

1. 寄存器GPU上一个SM可以看成一个多线程的CPU核。一般CPU拥有二、四、八个核。但一个GPU却有N个SM核。但这里需要注意的是,所有的工作都是有SM上的SP(流处理器)处理的。每个核上SP数目不同,因此每个核支持的线程数目也会有很大的不同。事实上,一个GPU设备上的所有SM中活跃的线程数目通常数以万计。与CPU不同,GPU的每个SM(流多处理器)有上千个寄存器。CPU与GPU架构的一个主要区
原创
发布博客 2016.09.24 ·
4185 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

CUDA学习--内存处理之概述(1)

1. 高速缓存高速缓存的最大速度与缓存的大小成反比关系。一级缓存是最快的,但他的大小一般限制在16k、32k或者64k。通常每个CPU核会分配一个单独的一级缓存。二级缓存相对而言慢一些,但他更大,通常有256k~512k。二级缓存或者三级缓存一般在处理器的核之间是共享的,或者作为连接于特定处理器核的独立缓存来维护。与CPU不同,GPU主要依赖基于程序员托管的缓存或者共享内存区。在费米架构的GPU实现
原创
发布博客 2016.09.23 ·
1375 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CUDA学习--CUDA流

1. CUDA流介绍CUDA流在加速应用程序方面起着重要的作用。CUDA流表示一个GPU操作队列,并且该队列中的操作将以指定的顺序执行。我们可以在流中添加一些操作,如核函数启动,内存复制等。将这些操作添加到流的顺序也就是他们的执行顺序。你可以将每个流视为GPU上的一个任务,并且这些任务可以并行执行。2. CUDA流的使用我们先通过在应用程序中使用单个流来说明流的用法。1) 首先,选
原创
发布博客 2016.09.06 ·
19393 阅读 ·
14 点赞 ·
13 评论 ·
79 收藏

CUDA学习--页锁定主机内存

1. 页锁定主机内存除了通过cudaMalloc()在GPU上分配内存,以及通过标准的C函数malloc()在主机上分配内存,CUDA运行时还提供了自己独有的机制来分配主机内存:cudaHostAlloc()。C函数malloc()将分配标准的,可分页的主机内存。而cudaHostAlloc()将分配页锁定的主机内存。页锁定的主机内存也称为固定内存或不可分页内存,它的重要属性就是:操作系统
原创
发布博客 2016.09.06 ·
3369 阅读 ·
1 点赞 ·
0 评论 ·
9 收藏

CUDA学习--图形互操作(CUDA与OpenGL的交互)

1. 为了说明OpenGL与CUDA C之间的互操作机制,我们将编写一个包含两个步骤的应用程序。第一个步骤是使用CUDA C核函数来生成图像数据。在第二步骤中,应用程序将这个数据传递给OpenGL驱动程序进行渲染。2.首先,我们要包含OpenGL和CUDA的头文件从而确保定义了正确的函数和枚举类型。我们还定义了渲染窗口的大小。#include "cuda_runtime.h"#inc
原创
发布博客 2016.08.31 ·
5119 阅读 ·
3 点赞 ·
1 评论 ·
12 收藏

glut与glew的配置

1. glut配置:Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip解压得到五个文件, 将glut.h放置在VC目录include下,即 【Microsoft Visual Studio安装路径\VC\includ
原创
发布博客 2016.08.29 ·
4064 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

CUDA矩阵乘法计算

发布资源 2016.08.26 ·
cu

CUDA学习--矩阵乘法的并行运算

1. CUDA学习步骤CPU实现 a*b = c 的矩阵乘法(矩阵尺寸是n*m的,n和m大于1000)下载 https://developer.nvidia.com/cuda-downloads,安装好cuda将cpu代码移植到cuda。将CPU值传入GPU,使用cuda计算,与cpu结果对比。优化思路1:将矩阵分块进行计算优化思路2:使用share memory进行优化优化思路3:将数
原创
发布博客 2016.08.24 ·
18892 阅读 ·
11 点赞 ·
5 评论 ·
87 收藏

二叉搜索树

1. 什么是二叉搜索树一棵二叉搜索树是以一棵二叉树来组织的。每个结点包括关键字key及其卫星数据,左孩子left, 右孩子right, 父节点p。二叉搜索树中的关键字key总是以满足二叉搜索树性质的方式来存储: 设x是二叉搜索树的一个结点。如果y是x左子树中的一个结点,则y.key <= x.key。如果y是x右子树中的一个结点,则y.key >= x.key。 如图,根节点的关键字为12,在其左
原创
发布博客 2016.08.12 ·
367 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

选择算法

1.问题描述在一个由n个元素组成的集合中,第i个顺序统计量是该集合中第i小的元素。例如:在一个元素集合中,最小值是第1个顺序统计量,最大值是第n个顺序统计量。用非形式化的描述来说,一个中位数是它所属集合的“中点元素”。当n为奇数时,中位数是唯一的,位于i = (n + 1) / 2处。当n为偶数时,存在两个中位数,分别位于i=n/2和i = n/2+1处。输入:一个包含n个(互异的)数的集合A和一个
原创
发布博客 2016.08.07 ·
483 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

计数排序

1.计数排序思想假设n个输入元素中的每一个都是在0到k 区间内的一个整数。对每一个输入元素x 确定小于x 的元素个数。利用这一信息,就可以直接把x 放到它在输出数组中的正确的位置上。2.计数排序实现计数排序-伪代码:FUNCTION Counting_Sort(A, B, k)let C[0, .., k] be a new arrayfor i = 0 to k C[i] = 0fo
原创
发布博客 2016.08.07 ·
304 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

快速排序

1. 快排思想快排也使用了分治的思想,分为三个过程: 1) 分解:数组A[q, ... , r]被划分为两个子数组A[p, ... , q-1] 和 A[q+1, ..., r],使得A[p, ... , q-1] 中的每一个元素都小于等于A[q] ,而A[q] 也小于等于A[q+1, ..., r] 中的每一个元素。 2) 解决:通过递归调用快排,对子数组A[p, ... , q-1] 和 A
原创
发布博客 2016.08.06 ·
252 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

堆排序

1. 堆堆是一个数组,又近似于一个完全二叉树。 如图,树上的每一个结点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且是从左向右填充的。 树的根节点是A[1],给定一个下标i,我们很容易得到它的父节点,左右孩子结点的下标。PARENT(i)return i / 2LEFT(i)return 2 * iRIGHT(i)return 2 * i + 1(在计算机中,通过将i 的值左移
原创
发布博客 2016.08.03 ·
469 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

最大子数组问题

分治策略中,我们递归的求解一个问题,在每个问题中应用如下三个步骤:1. **分解** 将问题划分为一些子问题,子问题的形式与原问题一样,只是问题规模更小。
原创
发布博客 2016.08.01 ·
437 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
原创
发布博客 2016.08.01 ·
232 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

消费者与生产者

发布资源 2014.07.30 ·
zip
加载更多