
并行计算
zc02051126
这个作者很懒,什么都没留下…
展开
-
X86 SSE/AVX指令集:向量内积
向量内积向量a和b的内积为:a⋅b=a1×b1+a2×b2+⋯+an×bna \cdot b = a_{1} \times b_{1} + a_{2} \times b_{2} + \cdots + a_{n} \times b_{n} 利用_mm256_dp_ps实现double型向量内积double dot(float* a, float* b, int n){ double原创 2015-07-16 16:45:58 · 6227 阅读 · 2 评论 -
ps-lite本地模式使用简介
ps-lite是DMLC的子模块,下面介绍其简单使用。环境设置:从https://github.com/dmlc/ps-lite 下载源码编译即可代码:下面的代码是简单的实现Worker向Server push数据,在Server上注册一个事件函数,对推送到Server上的数据进行累加,然后Worker在从Server上pull回数据#include "ps/ps.h"#include <i原创 2016-03-19 22:17:05 · 6018 阅读 · 2 评论 -
加速异步分布式随机梯度下降(FASGD)
@爱可可-爱生活 【论文+代码:加速异步分布式随机梯度下降(FASGD)】《Faster Asynchronous SGD》A Odena (2016) 网页链接 GitHub(FRED):网页链接转载 2016-02-06 10:52:49 · 3598 阅读 · 0 评论 -
MXNet 分布式架构——parameter server详解
@Libra_Leo_ 【MXNet 分布式架构——parameter server详解】@李沐M 和 @陈天奇怪 等大神开源的MXNet 最近火的一塌糊涂。而 MXNet 最吸引我的特性是它支持分布式训练(由ps-lite提供支持)。本博客从易用性、通信高效性、可扩展性等角度介绍李少帅的 parameter server. 请猛戳:网页链接转载 2016-02-06 10:47:15 · 6502 阅读 · 0 评论 -
MXNet Data Loading模块的设计文档(高速IO)
DMLC#MXNet Data Loading模块的设计文档O网页链接,利用dmlc-core的底层功能实现,在ImageNet数据集上单算loading和preprocessing每秒可以处理3000张图片。希望本文可以帮助大家高效地实现更多机器学习算法所需的IO模块,以充分发挥MXNet通过并行与优化所带来的强大DNN运算性能。http://mxnet.readthedocs.org/en/la翻译 2015-11-26 22:56:51 · 992 阅读 · 0 评论 -
Java并发
@ImportNew 《聊聊并发(7)——Java中的阻塞队列》阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。网页链接 (by 方腾飞)转载 2016-02-06 10:36:23 · 340 阅读 · 0 评论 -
无锁编程技术简介
@网路冷眼 【An Introduction to Lock-Free Programming】网页链接 无锁编程简介。原创 2016-02-05 15:01:40 · 694 阅读 · 0 评论 -
异步的SGD
现在以Hogwild!为代表的异步SGD算法很火,Hogwild!是一种lock-free的异步并行算法,虽然理论证明了有lock的时候是收敛的,但在lock-free的时候并没有理论证明收敛性。我们提出了一种比Hogwild!收敛更快的lock-free异步并行算法,并在理论上证明在lock-free情况下是收敛的 @李武军nju 搞定2篇AAAI,第一作者都来自我在南大指导的学生。一篇来自本翻译 2015-11-26 22:59:37 · 5409 阅读 · 0 评论 -
MPI安装及测试
http://www.open-mpi.org/software/ompi/v1.8/ 下载openmpi-1.8-1,按照源码中的INSTALL说明安装,我的安装在Ubuntu的/usr/local/openmpi-1.8-1下例子demo.cpp#include "mpi.h" #include <iostream> int main(int argc, char* argv[])原创 2015-11-01 22:15:46 · 11168 阅读 · 0 评论 -
OpenMP:线程同步
barrier指令barrier为显示调用栅栏同步,在调用处除非所有的调用现场全部到达,否则先到达的线程要等待其它的线程全部到达才能继续向下执行。barrier保证了可见性,在barrier指令之后的并行区域所看到的共享存储器的内容是一致的。barrier会造成死锁,如果在某个线程代码内部使用了该指令,是无论如何也等不到其它线程的。如果不同的线程间需要交互访问数据,可以用barrier指令实原创 2015-07-19 00:13:53 · 1424 阅读 · 0 评论 -
OpenMP:向量内积
并行化指令parallel:将代码发送到不同的线程中去执行。for:将for循环中的计算过程分发到不同的线程中去。reduction:并行的程序运行结束时,对并行区域内的一个或者多个变量执行一个操作,每个并行的程序将创建参数的一个副本,在运行结束时对各个副本进行+,-,×,/等操作。shared(v1,v2,…):声明变量v1,v2,…是共享变量,如果写共享变量时注意对共享变量加以写保护,在原创 2015-07-18 17:24:56 · 1497 阅读 · 1 评论 -
MPI远程存储访问,实现的简化版参数服务器
简介按照http://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf 所述,在分布式机器学习中个使用参数服务器并行训练模型。即把模型参数存储在特定服务器上,其它训练模型的节点从服务器上获取模型参数,在训练节点上训练一些样本后,再把模型参数推动到参数服务器,达到并行训练目的。参数服务器的结构如下 蓝色节点为存储参数的服务器,即Server,原创 2016-04-01 16:54:31 · 2626 阅读 · 0 评论