2024年5月25日发(作者:)
装 订 处
基于pthread并行的矩阵乘法运算
一、pthread
POSIX线程通常又被叫做POSIX Threads,通常还会被缩写为Pthreads,作为一种
常用的完整API,不仅在创建上还是在操纵上面都是基于POSIX的线程标准。pthreads
通常会作为线程标标准的数据库,这个数据库能够实现POSIX ,同时能够很好的应用在
Unix系统上面,也能很好的应用在Linux和Solaris系统上面,同时与最新的微软系统也
能兼容,例如在Microsoft Windows上面也能实现线程的函数算法,通常在微软的线程
中能够实现的是第三方库的函数程序,pthreads-w32能够很好的利用其子系统实现最原
生的POSIX API,由于其能够兼容各个系统,因此能够实现多领域的应用。
二、案例简介
本案例中主要利用并行程序以及性能优化的得特点,基于pthread能够实现的并行
程序以及性能优化的特点进行程序设计,程序设计中会涉及到两个部分,第一个是利用
pthread编程工具的功能实现矩阵的乘法运算以及并行的算法,第二个是利用程序的执行
结果以及分析总结功能,能够对程序编写的过程以及算法能够实现程序的分析,最终实现
了并行的矩阵乘法运算的问题解决。案例中具体会涉及到四个方面的应用,第一个是利用
for 循环编写出串行的,并且能够实现矩阵乘法运算的程序,其次通过熟悉pthread,并
且能够利用pthread进行线程的创建以及管理,同时能够理解到其基本编写、运算和销毁
的程序以及方法,再者是通过pthread进行矩阵乘法运算的改造,这样能够实现并行程序
的运算。最后是利用数据的任务划分以及任务的调整,能够实现工作线程的数目,这样能
够实现程序的执行效率,这样能够实现对实验结果得分析和总结。
装 订 处
三、算法程序概述
(一)编程工具选取pthread
基于pthread 编程工具的,并行的矩阵乘法运算进行验证。
第一步创建新的线程
int pthread_create( pthread_t *thread,
const pthread_attr_t *attr,
void *(*func) (void *),
void *arg);
thread 代表线程 ID,其概念和线程中的pid差不多
attr 证明现成的属性,基本不纳入从程序算法中
func 代表创建的新的线程运行的开始的地方在函数的指针处
arg 代表着运行函数的各项指标的参数
如果返回的值是0,那么表示新创建的线程是成功的,如果是其他的值,那么表示编
号是错误的。


发布评论