摘要: 为什么要使用共享内存呢,因为共享内存的访问速度快。这是首先要明确的,下面详细研究。 cuda程序中的内存使用分为主机内存(host memory) 和 设备内存(device memory),我们在这里关注的是设备内存。设备内存都位于gpu之上,前面我们看到在计算开始之前,每次我们都要在device 阅读全文
posted @ 2017-05-31 22:23 乱麻 阅读(3523) 评论(0) 推荐(0) 编辑
摘要: 由上一节可知,在main函数中,cuda程序的并行能力是在add<<<N,1>>>( dev_a, dev_b, dev_c )函数中体现的,这里面设置的是由N个block的构成的计算网络即grid,每一个block里面有1个thread存在。那么这种选取有什么用意呢,如何针对自己的计算问题设置计算 阅读全文
posted @ 2017-05-26 17:29 乱麻 阅读(7822) 评论(0) 推荐(0) 编辑
摘要: cuda作为gpu计算中的代表,拥有着超级高的计算效率,其原因是gpu实际相当与一台超级并行机组,使用过MPI做并行计算的人们可能知道,所谓的并行计算,简单讲就是用多个U(计算单元)来完成一个U的计算任务,MPI中将其叫做核,我们知道一个cpu有一个或2,4,8个核,超级厉害的也就16个吧,原来人们 阅读全文
posted @ 2017-05-25 11:12 乱麻 阅读(1536) 评论(2) 推荐(1) 编辑
摘要: 过去一段时间忙于论文写作中,完全忘了cura-engine这回事了,其实也是觉得cura-engine在深入学习细节作用不大。于是在此开始新的学习,那就是cuda。 接下里大部分时间都会用在cuda学习中,最终的目标是将cuda用于质点生成程序中,并有很好的加速效果。 阅读全文
posted @ 2017-05-23 16:59 乱麻 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 目前,我们还在函数prepareModel中徘徊,因为这函数实在是太长了,近乎包含了整个数据处理过程。通过前面两篇,几何图形已经被导入到内存中,并且由一个simplemodel变成了一个optimizedmodel。现在程序拿起了屠刀,开始了切片过程。 通常来讲,在3D打印中所说的slicer过程包 阅读全文
posted @ 2017-03-02 20:20 乱麻 阅读(1519) 评论(0) 推荐(1) 编辑
摘要: 在函数prepareModel(SliceDataStorage& storage, const std::vector<std::string> &files)中,在读取文件过后,有一个很关键的步骤,就是优化模型操作,是通过class OptimizedModel的构造函数OptimizedMod 阅读全文
posted @ 2017-02-28 21:45 乱麻 阅读(1252) 评论(0) 推荐(0) 编辑
摘要: cura-engine为开源3D打印软件cura的核心引擎代码,详细介绍参看github主页。现在学习的是一个简单版的https://github.com/repetier/CuraEngine,最新版https://github.com/Ultimaker/CuraEngine添加了很多功能,尤其 阅读全文
posted @ 2017-02-28 15:13 乱麻 阅读(3567) 评论(2) 推荐(0) 编辑