并行编程笔记Outline

Motivation

前几周的面试失败了,应该是留下了空谈的印象。看到简历上职业规划中“着手准备操作系统级、语言级计算基础设施”,深感自己大言不惭。

吹过的牛就是含着泪也得做完。

Audience

myself

Scope

操作系统级进程、线程:APUE

共享内存式并行:Java(Python?)、POSIX threads、OPenMP

分布式内存并行:MPI、Erlang(填充完Erlang OTP)

CUDA(?)

References

[1] Pacheco P. S.. 并行程序设计导论. 北京: 机械工业出版社.  2013.

[2] Mattson T. G., Sanders B. A., Massingill B. L.. 并行编程模式. 北京: 机械工业出版社.  2015.

other materials, may or may not including Java concurrency, CUDA, Erlang OTP, etc.

时间: 2024-10-20 13:07:01

并行编程笔记Outline的相关文章

并发编程笔记Outline

Motivation a spilt of parallel programning notes, especially on shared memory parallel architecture, since Java apps paly a great deal on java.util.concurrent. Audience myself, who also suffers in Java Concurrent Programmings. Scope Shared Memory Par

OpenCL学习笔记(二):并行编程概念理解

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 并行编程的需求是显而易见的,其最大的难题是找到算法的并行功能,同时必须处理数据的共享和同步.但是,因为每一个算法都是不一样的,很难有通用的并行功能--粒度都有可能是不一样的.OpenCL提供了很多并行的抽象模型,因此算法开发人员可以在不同粒度上开发并行的算法,以及数据的共享和同步. 一般来说,并行编程有两种大类型--分散收集(s

【读书笔记】.Net并行编程(三)---并行集合

为了让共享的数组,集合能够被多线程更新,我们现在(.net4.0之后)可以使用并发集合来实现这个功能.而System.Collections和System.Collections.Generic命名空间中所提供的经典列表,集合和数组都不是线程安全的,如果要使用,还需要添加代码来同步. 先看一个例子,通过并行循环向一个List<string>集合添加元素.因为List不是线程安全的,所以必须对Add方法加锁来串行化. 任务开始: private static int NUM_AES_KEYS =

【读书笔记】.Net并行编程高级教程--Parallel

一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控>这本书中也多次提到并发,不管是计算机还是生物都并发处理着各种事物.人真是奇怪,当你关注一个事情的时候,你会发现周围的事物中就常出现那个事情.所以好奇心驱使下学习并发.便有了此文. 一.理解硬件线程和软件线程 多核处理器带有一个以上的物理内核--物理内核是真正的独立处理单元,多个物理内核使得多条指令能够同时并行运行.硬件线程也称为逻辑内核,一个物

python核心编程--笔记

python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的python脚本 1.8 file   以给定的文件运行python脚本 2 _在解释器中表示最后

C# 并行编程 之 并发集合 (.Net Framework 4.0)(转)

转载地址:http://blog.csdn.net/wangzhiyu1980/article/details/45497907 此文为个人学习<C#并行编程高级教程>的笔记,总结并调试了一些文章中的代码示例. 在以后开发过程中可以加以运用. 对于并行任务,与其相关紧密的就是对一些共享资源,数据结构的并行访问.经常要做的就是对一些队列进行加锁-解锁,然后执行类似插入,删除等等互斥操作. .NetFramework 4.0 中提供了一些封装好的支持并行操作数据容器,可以减少并行编程的复杂程度.

C# 并行编程 之 命令式任务并行 (.Net Framework 4.0)

此文为个人学习<C#并行编程高级教程>的笔记,总结并调试了一些文章中的代码示例. 在以后开发过程中可以加以运用. 最基本的使用,并行任务的创建 在 .Net Framework 4 中出现了Task 的概念.在以往的多线程程序中虽然使用的是thread,但大多数的时候我们还是会把业务处理划分为Task.这样更接近于人类的思考方式,毕竟Thread不能说明它和业务的关联.这里C#直接提供了task,也算是对开发者简便了一些. Task 的使用非常简单,定义工作函数,创建Task,Task开始运行

C# 并行编程 之 并发集合 (.Net Framework 4.0)

此文为个人学习<C#并行编程高级教程>的笔记,总结并调试了一些文章中的代码示例. 在以后开发过程中可以加以运用. 对于并行任务,与其相关紧密的就是对一些共享资源,数据结构的并行访问.经常要做的就是对一些队列进行加锁-解锁,然后执行类似插入,删除等等互斥操作. .NetFramework 4.0 中提供了一些封装好的支持并行操作数据容器,可以减少并行编程的复杂程度. 基本信息 .NetFramework中并行集合的名字空间: System.Collections.Concurrent 并行容器:

iOS并发编程笔记,包含GCD,Operation Queues,Run Loops,如何在后台绘制UI,后台I/O处理,最佳安全实践避免互斥锁死锁优先级反转等,以及如何使用GCD监视进程文件文件夹,并发测试的方案等

iOS并发编程笔记,包含GCD,Operation Queues,Run Loops,如何在后台绘制UI,后台I/O处理,最佳安全实践避免互斥锁死锁优先级反转等,以及如何使用GCD监视进程文件文件夹,并发测试的方案等 线程 使用Instruments的CPU strategy view查看代码如何在多核CPU中执行.创建线程可以使用POSIX 线程API,或者NSThread(封装POSIX 线程API).下面是并发4个线程在一百万个数字中找最小值和最大值的pthread例子: #import