C/C
文章平均质量分 67
Rachel-Zhang
yiyan程序员 https://weibo.com/u/2607574543
展开
-
CUDA系列学习(四)Parallel Task类型 与 Memory Allocation
本文为CUDA系列学习第四讲,首先介绍了Parallel communication patterns的几种形式(map, gather, scatter, stencil, transpose), 然后复习了cuda memory model并从high level上分析怎样写出高效代码,最后学习了流程控制(control flow)以及其中一个重要部分——原子操作。参考资料:udacity cs344.原创 2015-02-03 11:43:00 · 11858 阅读 · 12 评论 -
CUDA系列学习(五)GPU基础算法: Reduce, Scan, Histogram
喵~不知不觉到了CUDA系列学习第五讲,前几讲中我们主要介绍了基础GPU中的软硬件结构,内存管理,task类型等;这一讲中我们将介绍3个基础的GPU算法:reduce,scan,histogram,它们在并行算法中非常常用,我们在本文中分别就其功能用处,串行与并行实现进行阐述。 1. Task complexitytask complexity包括step complexity(可以并行成几个操作原创 2015-06-25 11:19:39 · 45999 阅读 · 33 评论 -
valgrind 检查内存泄漏
内存泄漏是coding中经常容易出现的问题, 而且很难查。 本文中总结了几个常见的内存泄漏问题, 分别举例实现, 并列出用代码分析工具——valgrind中memcheck检查的结果, 一 一对错误进行排查。本文围绕工程valgrind-sample进行讲解。 先看下工程结构: methods类写了几个可能存在内存操作问题的函数, main.cpp调用methods类函数: method原创 2015-10-18 14:37:28 · 19518 阅读 · 1 评论 -
python 调用 C++ code
本文以实例code讲解python借swig调用 C++的方法。 1. 如果没有参数传递从python传递至C++,python调用C++的最简单方法是将函数声明为C可用函数,然后作为C code被python调用,如这里三楼所示; 2. 有参数传递至C++函数,swig是最便捷的调用方法,以下面这个工程所示为例;原创 2015-10-24 02:33:10 · 18821 阅读 · 7 评论