21级超算实验室优化组第一次作业 ---任思泽

 

 

 

安装并配置oneapi:

 

测试:

 编译:make arch=test

rensize@rensize-virtual-machine:~/hpl/hpl-2.3$ make arch=test
make -f Make.top startup_dir     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
mkdir -p include/test
mkdir -p lib
mkdir -p lib/test
mkdir -p bin
mkdir -p bin/test
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top startup_src     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/auxil       arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/auxil ; mkdir -p test )
( cd src/auxil/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/blas        arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/blas ; mkdir -p test )
( cd src/blas/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/comm        arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/comm ; mkdir -p test )
( cd src/comm/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/grid        arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/grid ; mkdir -p test )
( cd src/grid/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/panel       arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/panel ; mkdir -p test )
( cd src/panel/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/pauxil      arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/pauxil ; mkdir -p test )
( cd src/pauxil/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/pfact       arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/pfact ; mkdir -p test )
( cd src/pfact/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=src/pgesv       arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/pgesv ; mkdir -p test )
( cd src/pgesv/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top startup_tst     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=testing/matgen  arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd testing/matgen ; mkdir -p test )
( cd testing/matgen/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=testing/timer   arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd testing/timer ; mkdir -p test )
( cd testing/timer/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=testing/pmatgen arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd testing/pmatgen ; mkdir -p test )
( cd testing/pmatgen/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=testing/ptimer  arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd testing/ptimer ; mkdir -p test )
( cd testing/ptimer/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top leaf le=testing/ptest   arch=test
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd testing/ptest ; mkdir -p test )
( cd testing/ptest/test ; \
            ln -fs /home/rensize/hpl/hpl-2.3/Make.test Make.inc )
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3”
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top refresh_src     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
cp makes/Make.auxil    src/auxil/test/Makefile
cp makes/Make.blas     src/blas/test/Makefile
cp makes/Make.comm     src/comm/test/Makefile
cp makes/Make.grid     src/grid/test/Makefile
cp makes/Make.panel    src/panel/test/Makefile
cp makes/Make.pauxil   src/pauxil/test/Makefile
cp makes/Make.pfact    src/pfact/test/Makefile
cp makes/Make.pgesv    src/pgesv/test/Makefile
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top refresh_tst     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
cp makes/Make.matgen   testing/matgen/test/Makefile
cp makes/Make.timer    testing/timer/test/Makefile
cp makes/Make.pmatgen  testing/pmatgen/test/Makefile
cp makes/Make.ptimer   testing/ptimer/test/Makefile
cp makes/Make.ptest    testing/ptest/test/Makefile
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top refresh_src     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
cp makes/Make.auxil    src/auxil/test/Makefile
cp makes/Make.blas     src/blas/test/Makefile
cp makes/Make.comm     src/comm/test/Makefile
cp makes/Make.grid     src/grid/test/Makefile
cp makes/Make.panel    src/panel/test/Makefile
cp makes/Make.pauxil   src/pauxil/test/Makefile
cp makes/Make.pfact    src/pfact/test/Makefile
cp makes/Make.pgesv    src/pgesv/test/Makefile
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top refresh_tst     arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
cp makes/Make.matgen   testing/matgen/test/Makefile
cp makes/Make.timer    testing/timer/test/Makefile
cp makes/Make.pmatgen  testing/pmatgen/test/Makefile
cp makes/Make.ptimer   testing/ptimer/test/Makefile
cp makes/Make.ptest    testing/ptest/test/Makefile
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top build_src       arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd src/auxil/test;         make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/auxil/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/auxil/test”
( cd src/blas/test;          make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/blas/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/blas/test”
( cd src/comm/test;          make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/comm/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/comm/test”
( cd src/grid/test;          make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/grid/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/grid/test”
( cd src/panel/test;         make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/panel/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/panel/test”
( cd src/pauxil/test;        make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/pauxil/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/pauxil/test”
( cd src/pfact/test;         make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/pfact/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/pfact/test”
( cd src/pgesv/test;         make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/src/pgesv/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/src/pgesv/test”
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”
make -f Make.top build_tst       arch=test
make[1]: 进入目录“/home/rensize/hpl/hpl-2.3”
( cd testing/matgen/test;    make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/testing/matgen/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/testing/matgen/test”
( cd testing/timer/test;     make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/testing/timer/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/testing/timer/test”
( cd testing/pmatgen/test;   make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/testing/pmatgen/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/testing/pmatgen/test”
( cd testing/ptimer/test;    make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/testing/ptimer/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/testing/ptimer/test”
( cd testing/ptest/test;     make )
make[2]: 进入目录“/home/rensize/hpl/hpl-2.3/testing/ptest/test”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/rensize/hpl/hpl-2.3/testing/ptest/test”
make[1]: 离开目录“/home/rensize/hpl/hpl-2.3”

 运行测试:cd bin/test

rensize@rensize-virtual-machine:~/hpl/hpl-2.3$ cd bin/test
rensize@rensize-virtual-machine:~/hpl/hpl-2.3/bin/test$ ls
HPL.dat  xhpl

运行:mpirun ./xhpl

rensize@rensize-virtual-machine:~/hpl/hpl-2.3/bin/test$ mpirun ./xhpl
HPL ERROR from process # 0, on line 419 of function HPL_pdinfo:
>>> Need at least 4 processes for these tests <<<

HPL ERROR from process # 0, on line 621 of function HPL_pdinfo:
>>> Illegal input in file HPL.dat. Exiting ... <<<

跟范例不一样,上网查了一下:

 发现自己的目录只到bin/Linux_P||_CBLAS。。。

 安装hpcg:

运行测试:cd bin

rensize@rensize-virtual-machine:~/hpcg/setup/build$ cd bin
rensize@rensize-virtual-machine:~/hpcg/setup/build/bin$ ls
hpcg20221009T101518.txt  n104-1p-2t_V3.1_2022-10-09_10-16-43.txt  xhpcg_avx2
hpcg20221009T102124.txt  n104-1p-2t_V3.1_2022-10-09_10-22-48.txt  xhpcg_knl
hpcg.dat                 xhpcg_avx                                xhpcg_skx

运行:./xhpcg_avx

 

最近在学归并排序,就简单用C++写了个排序5个数的归并。。。

rensize@rensize-virtual-machine:~$ vim Sort.cpp

rensize@rensize-virtual-machine:~$ g++ -o Sort Sort.cpp

rensize@rensize-virtual-machine:~$ ./Sort

5

2

6

7

1

before sort 
5   2   6   7   1   

after sort 
1   2   5   6   7 

代码详见如下:

#include <iostream>
using namespace std;

void mergeArr(int arr[], int low, int mid, int hight) {
        int* tempArr = new int[hight - low + 1];
        int i = low, j = mid + 1, k = 0;
        while (i <= mid && j <= hight) {
                if (arr[i] < arr[j]) {
                        tempArr[k] = arr[i];
                        i++;
                }
                else {
                        tempArr[k] = arr[j];
                        j++;
                }
                k++;
        }
        while (i <= mid) {
                tempArr[k] = arr[i];
                i++;
                k++;
        }
        while (j <= hight) {
                tempArr[k] = arr[j];
                j++;
                k++;
        }
        i = low;
        for (int tempK = 0; ((tempK < k)&&(i <= hight)); tempK++) {
                arr[i] = tempArr[tempK];
                i++;
        }
        delete[] tempArr;
        tempArr = NULL;
}

void sortArr(int arr[], int low, int hight) {
        if (low < hight) {
                int mid = (hight + low) / 2;
                sortArr(arr,low,mid);
                sortArr(arr, mid + 1, hight);
                mergeArr(arr, low, mid, hight);
        }
}
int main() {
        int arr[5];
        for (int i=0; i<5; i++) {
                cin >> arr[i];
        }
        cout << "before sort " << endl;
        for (int j=0; j<5; j++) {
                cout << arr[j] << "   ";
        }
        sortArr(arr, 0, 4);
        cout << endl << "after sort " << endl;
        for (int j = 0; j < 5; j++) {
                cout << arr[j] << "   ";

        }
        return 0;
}

用shell写文件,那些函数和数组什么的就不写了,简单写了个输出0-10的循环。。。

rensize@rensize-virtual-machine:~$ vim test.sh
rensize@rensize-virtual-machine:~$ bash test.sh
0
1
2
3
4
5
6
7
8
9
10

 查看文件内容:

rensize@rensize-virtual-machine:~$ cat test.sh
#!/bin/bash
i=0
while ((i<=10))
do
	echo $i
	i=`expr $i + 1`
done

又写了个test2.sh

rensize@rensize-virtual-machine:~$ vim test2.sh
rensize@rensize-virtual-machine:~$ bash test2.sh
This is a test
rensize@rensize-virtual-machine:~$ cat test2.sh
#!/bin/bash
echo "This is a test"

合并文件:

rensize@rensize-virtual-machine:~$ vim sum.sh
rensize@rensize-virtual-machine:~$ cat test.sh test2.sh > sum.sh
rensize@rensize-virtual-machine:~$ cat sum.sh
#!/bin/bash
i=0
while ((i<=10))
do
	echo $i
	i=`expr $i + 1`
done
#!/bin/bash
echo "This is a test"

还有一些花里胡哨的操作就不哗众取宠了。。。

最后把拓展作业的三个内容安装了,浅学了一下。。。

rensize@rensize-virtual-machine:~$ gdb -v
GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

rensize@rensize-virtual-machine:~$ git config --list
user.name=rensize
user.email=rensize@2105495410@qq.com

 

 

rensize@rensize-virtual-machine:~$ docker version
Client: Docker Engine - Community
 Version:           20.10.18
 API version:       1.41
 Go version:        go1.18.6
 Git commit:        b40c2f6
 Built:             Thu Sep  8 23:11:43 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied

        写一下自己的理解,GDB是用来调试程序的,甚至可以分线程调试;git是用来管理文件的,可以让把一个文件写成多个版本,比方说写了一个游戏,如果不用git的话,刚开始写的是适配Windows的版本,想要让Linux、Unix、MacOS、Android、iOS这些系统的用户也用的话就要每次都重新写一次,用git就能省很多事;docker是一个容器,可以把很多应用程序都装进去,可以隔离程序的运行环境,但又能共用同一个操作系统,比虚拟机更轻量化,占用更少资源。

就这些了,最后还要感谢一下前辰和子健两位学长教我配置环境,这一块内容折磨了我好久捏。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要创建一个名为"vue-project"的Vue项目,你可以按照以下步骤进行操作: 1. 打开终端,并进入你想要创建项目的文件夹。 2. 运行命令"vue create vue-project"来创建项目。确保项目名称不包含中文或大写字母,否则会创建失败。 3. 完成项目创建后,进入项目文件夹,可以使用命令"cd vue-project"。 4. 运行项目,可以使用命令"npm run serve"。这将启动项目,并在浏览器中提供一个链接以查看项目。 通过以上步骤,你就可以成功创建并运行名为"vue-project"的Vue项目了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [脚手架(vue-cli)创建Vue项目超详细过程](https://blog.csdn.net/weixin_52580677/article/details/123677393)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [创建vue项目](https://blog.csdn.net/zhiqinzhe/article/details/128634634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值