lunix主要通过命令行来实现各种功能,通过命令行来下载各种功能,执行各种任务, 系统中以文件为各种单位,可以用 wc / awk / sed / head / tail / grep / top 等各种命令对文件进行读取,或者对系统的状态进行读取,在WINDOWS系统中,需要下载虚拟机进行运行,在任务的过程中,曾经遇到了 vmware tools 下载失败或者下载后无法正常运行,无法进行正常的复制粘贴以及窗口放大等常用功能,通过网上的各种资源以及博客的帮助,通过执行一系列的命令行解决了此问题。
linux以文件为基本操作单位,能够对文件进行“读,写,操作”三种权限,在任务执行过程中,也曾遇到过了gcc,g++无法下载,无法连接网络,无法与Ubantu取得联系等等,而后再尝试网上一系列的解决方法之后仍然无效,可是在过了部分时间后再次进行下载,却显示连接成功,个人认为,Ubantu源有时并不稳定,且下载速度慢。
学习open mp并行编程,了解到在多个for循环里面可以使用open np进行多线程运行,减少运行时间,在矩阵乘法优化的过程当中,先进行了更改For内层循环顺序的尝试,在优化后,有减少部分运行时间,但效果不大,而后又尝试矩阵分块的方式进行优化,矩阵分块的代码编写,存在小部分问题
分块的大小对不同大小的矩阵的优化速度不一样,无法将未知大小的矩阵直接确定分块大小,使用并行方法后,运行速度明显加快,运行加速比达到了3倍,在中值滤波任务之中,仅仅使用paraller for,运行耗时相比之前有部分减少,但使用动态调度 dynamic 对for语句进行拆分并行处理运行,耗时则减少了一倍,在稀疏矩阵向量乘任务中,为减少负载均衡的问题,使用动态dynamic策略,但size的大小较难确定,且稀疏矩阵向量乘的运行速度过快,记录运行时间时往往无法记录下有效时间,需要叠加循环次数,使用上一次循环的值进入下一次循环,才能让优化的效果更加直观。
除此以外,Open mp可以控制并行,控制调度等等,有多个从句,可供使用。