实验中涉及到的并行计算.ppt
《实验中涉及到的并行计算.ppt》由会员分享,可在线阅读,更多相关《实验中涉及到的并行计算.ppt(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验中涉及到的并行计算 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望MJPEG解码程序子任务:1.FETCH:负责完成解码流程中的霍夫曼解码、反锯齿扫描及反量化。2.COMPUTE:最为费时的计算任务反离散余弦变换(IDCT)。3.DISPATCH:从不同的COMPUTE任务计算完毕的宏块,进行重新组织排列,最终生存图像帧并传送到帧缓存。进行并行化!在headers/mjpeg.h中用NB_IDCT定义了线程数。在source/main.c中用Posix pth
2、read多线程编程进行并行化。Posix pthread简介:1.数据类型 pthread_t:线程句柄 pthread_attr_t:线程属性句柄2.函数 int pthread_create(pthread_t*restrict_tidp,const pthread_attr_t*restrict_attr,void*(*start_rtn)(void*),void*restrict arg);/创建线程。参数:1.线程标识符指针2.线程属性3.运行函数起始地址4.运行函数参数 int pthread_join(pthread_t thread,void*retval);/以阻塞的方式等待
3、thread指定的线程结束。参数:1.线程标识符2.返回值 int pthread_attr_init(pthread_attr_t*attr);/初始化线程对象的属性。程序分析:1.标识符定义 pthread_t fetchThread,dispatchThread,idctThreadNB_IDCT;pthread_attr_t fetchAttr,dispatchAttr;2.数据分配 Channel*channel2*NB_IDCT+1;Channel*fetch_channel1+NB_IDCT;Channel*dispatch_channel1+NB_IDCT;Channel*id
4、ct_channelNB_IDCT2;/Channel是实现通信的容器 可以连接两个以上的模块 fetch_channel0=channel0;dispatch_channel0=channel0;for(uint32_t i=0;i NB_IDCT;i+)fetch_channeli+1=channel2*i+1;dispatch_channeli+1=channel2*i+2;idct_channeli0=channel2*i+1;idct_channeli1=channel2*i+2;fetch_channeli+1=channel2*i+1;dispatch_channeli+1=ch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 涉及到 并行 计算
限制150内