- 博客(36)
- 收藏
- 关注
原创 Ubuntu换源下载
在中,换源可以显著加速软件包的下载速度。你可以通过将默认的软件源更改为国内的镜像源(如阿里云、清华、网易等)来提升速度。下面是详细的步骤。
2024-10-21 15:45:48
1048
原创 VScode连接服务器配置c、c++编程环境
通过 VS Code 连接到远程服务器,你可以像在本地开发一样编写、编译和调试 C/C++ 程序。安装并配置Remote-SSH扩展。在远程服务器上安装 GCC/Clang 编译器。在 VS Code 中编写 C/C++ 代码,并通过tasks.json配置编译任务。通过配置调试环境。编译、运行和调试你的程序。这种方式特别适合需要在服务器上进行开发的场景,例如在远程集群或 GPU 服务器上进行开发。如果遇到任何问题或有进一步的疑问,欢迎随时提问!
2024-10-10 17:36:22
2390
原创 Ubuntu系统上openMP环境的配置
安装编译器:GCC 和 Clang 都内置支持 OpenMP,不需要额外安装。编写 OpenMP 程序:使用等指令并行化代码。编译与运行:使用-fopenmp标志编译,执行后可看到并行化效果。调优与性能:调整线程数、优化负载平衡,获得最佳性能。
2024-10-09 17:03:19
2783
原创 Ubuntu环境下的mpi环境的配置
安装 OpenMPI:使用 Ubuntu 的包管理器安装 OpenMPI 工具和库。配置环境:确保 MPI 的二进制文件在PATH中,并设置相关环境变量。编写和编译 MPI 程序:通过mpicc编译,并使用mpirun运行 MPI 程序。多节点运行(可选):配置免密 SSH 登录,使用主机文件在多台机器上运行 MPI 程序。如果你在配置过程中遇到任何问题,欢迎继续提问!
2024-10-09 16:47:41
4973
2
原创 Ubuntu下的CUDA环境的安装与配置
安装 NVIDIA 驱动:确保显卡驱动正确安装。安装 CUDA 工具包:下载并配置好 CUDA 工具包。配置环境变量:设置 CUDA 的PATH和。验证安装:使用nvcc和示例代码来验证安装是否成功。
2024-10-09 16:36:38
8503
原创 代码行数计数器
做了个记录代码函数的小程序,后缀名记得设置为.pyw,如果你装了python的话可以直接拿来用,免费自取。3.行数的多少能激发不同的反馈,如great,good等。两个文件一个是源代码,一个txt文件保存代码总行数。1.记录总行数、当前行数、目标行数三个值。4.具有段位系统,参考游戏段位设计。
2024-08-23 16:45:27
297
原创 Enhancing Monte Carlo Particle transport For Modern Many-core Architectures--第六章-异构架构的利用
本节主要介绍了一种新的负载平衡算个发,解决在域分解的异构环境中的动态复制问题。
2024-05-31 21:37:35
651
原创 C++ primer Plus第六章编程题
例如,收入为38000 tvarps时,所得税为5000*0.00 + 10000*0.10 + 20000*0.15 + 3000*0.20,即4600 tvarps。请编写一个程序,使用循环来 要求用户输入收入,并报告所得税。当用户输入负数或非数字时,循环将结束。35000 tvarps以上:20%5000 tvarps:不收税。
2024-05-31 21:36:31
783
原创 C++ primer plus 第五章编程练习
6.完成编程练习5,但这一次使用一个二维数组来存储输入—3年中每个月的销售量。算多少年后,Cleo的投资价值才能超过Daphne的投资价值,并显示此时。请编写一个程序,输入全。的盈利是105美元的5%—即5.25美元,依此类推。商(存储在字符数组或string对象中的字符串)、生产年份(整数)。例如,如果用户输入的是2和9,则程序将指出2~9之间所有。示,并将输入的数据储存在一个int数组中。9.编写一个满足前一个练习中描述的程序,但使用string对象而不。年中每个月的销售量(图书数量,而不是销售额)。
2024-05-14 15:27:08
544
原创 C++ primer plus第五章复习题
而ch = cin.get()则是先扑获键盘上的输入字符,然后get函数返回输入字符,再将返回字符赋值给ch。9.在查看输入方面,cin >>ch同cin.get(ch)和ch=cin.get( )有什么不。1.入口条件循环和出口条件循环之间的区别是什么?2.如果下面的代码片段是有效程序的组成部分,它将打印什么内。3.如果下面的代码片段是有效程序的组成部分,它将打印什么内。4.如果下面的代码片段是有效程序的组成部分,它将打印什么内。5.如果下面的代码片段是有效程序的组成部分,它将打印什么内。
2024-05-14 13:50:34
574
原创 C++ primer Plus 第四章编程题解答
编写一个C++程序,如下述输出示例所示的那样请求并显示信 息: 注意,该程序应该接受的名字包含多个单词。另外,程序将向下调 整成绩,即向上调一个字母。假设用户请求A、B或C,所以不必担心D 和F之间的空档。
2024-05-07 21:32:54
390
原创 Enhancing Monte Carlo particle transport for Modern Many-core Architectures--第三章,跟踪算法
本章内容主要包括两个部分,第一个部分是介绍了两种经典的跟踪算法:基于历史的跟踪算法和基于事件的跟踪算法。第二部分是作者对于两种方法的一些优化。
2024-04-17 17:20:36
920
原创 C++ Prime Plus第三章编程题答案
2.编写一个小程序,要求以几英尺几英寸的方式输入其身高,并以磅为单位输入其体重。(使用3个变量来存储这些信息。)该程序报告其BMI(Body Mass Index,体重指数)。为了计算BMI,该程序以英寸的方式指出用户的身高(1英尺为12英寸),并将以英寸为单位的身高转换为以米为单位的身高(1英寸=0.0254米)。然后,将以磅为单位的体重转换为以千克为单位的体重(1千克=2.2磅)。最后,计算相应的BMI—体重(千克)除以身高(米)的平方。用符号常量表示各种转换因子。3.编写一个程序,要求用
2024-04-12 21:38:55
417
原创 Performance Portable Monte Carlo Particle Transport on Intel, NVIDIA, and AMD GPUs
OpenMC作为一个开源的蒙特卡洛中性粒子传输应用程序,最近通过使用OpenMP目标卸载模型成功的移植到GPU架构上。我们在Frontier,Polaris和Aurora的超级计算机上大规模检验了OpenMC的性能,表明了OpenMC已经在三家主要的GPU供应商(AMD、NVIDIA和Intel)上实现了可移植性。我们将OpenMC的GPU性能与传统基于CPU上的openMC以及与其他先进的CPU平台上的蒙特卡洛粒子传输应用做对比,
2024-03-23 00:46:20
500
1
原创 Enhancing Monte Carlo Particle Transport For Modern More-core Architecture--背景和相关工作
Eckhardt (1987)提供了斯坦·乌拉姆和约翰·冯·诺伊曼关于纸牌游戏中的未发表对话,这成为启动蒙特卡罗输运方法的基础。"关于蒙特卡罗方法,我最初的想法和尝试是在1946年我病愈休养时玩纸牌时产生的。当时我在思考这样一个问题:52张纸牌的康菲尔德纸牌布局能成功完成的几率是多少?在花费了大量时间尝试用纯组合计算来估计之后,我想知道是否有比“抽象思维”更实用的方法,比如将它布局一百次,然后简单观察和计数成功的游戏次数。
2024-03-15 22:13:58
510
1
原创 Enhancing Monte Carlo Particle Transport for Modern Many-core Architectures--引言
自从电子计算开始之初,蒙特卡洛粒子传输一直是解决物理问题的一个典型的方法。由于这些应用对于高计算的需求以及内在的并行性质,蒙特卡洛传输应用常常运行在超级计算机环境上。也就是说,由于每一个节点并行能力也在迅速提升,超级计算机的随之发展,包括常规的多核设备(如GPU)。蒙特卡洛传输应用,像所有其他运行在超级计算机上的应用一样,被迫在他们的的设计上做出重大改变,为了更好的利用这新架构。
2024-03-11 21:06:22
433
1
原创 分布式内存系统、MPI、openMP、rank、TUP等概念的理解
最近在学习并行计算,其中涉及到一些概念,写下来方便以后巩固,之后会不断进行补充。简单理解就是多个计算机相连接组成的一个系统,每个计算机都有自己的内存,这样每个计算机都可以单独的工作。就好比王者荣耀的五排,每个人对应了一个英雄,每个英雄都可以独立的操作,但这个五个英雄又共同组成了一个团队\系统,团队之间可以通过消息、语音等方式来传递消息。当然正如同游戏中的协调一样、分布式内存系统的通信和协同并不是那么简单,涉及到下一个概念MPI。
2024-03-08 16:21:46
880
转载 强扩展性和弱扩展性
弱扩展和强扩展都是高性能计算里的名词,也就是并行计算相关方面的。对于超级计算机而言,有成千上万的服务器节点,而如何充分的利用到这些服务器,我们需要设计合适的算法来利用好这些服务器,而强扩展性和弱扩展性是描述对应算法的指标。
2024-03-07 18:48:04
1498
2
原创 计算机体系结构-量化研究方法
体系结构:RISC(Reduced Istruction Set Computer)的出现。RISC关注于两个方面,一个是指令级并行的利用,一个是缓存的 利用。1.编程语言的改变,性能的提升使得能够以性能换取效率。讲述了计算机性能的巨大提升,来自几个方面,一个是硬件方面,一个是体系结构和组织方式的发展。硬件方面:电子关->晶体管->微处理器,微处理器的问世使得计算机性能每年提升约35%。第一:显著增强了计算机的处理能力。第二:促进了新型计算机的诞生。第四:对软件开发的影响。
2024-03-06 22:56:33
551
1
原创 ModuleNotFoundError: No module named ‘zmq‘运行anaconda中的spyder出现闪退
这个对应的包是pyzmq,看了很多博文,说是pyzmq这个包的版本不兼容导致的,他们推荐安装旧版本的包pyzmq-19.0.2,也就是。这个操作解决的,因为最新版本的python是python3,而不是python2,如果是python2,则使用。安装了最新版的anaconda之后,启动spyder总是闪退,谢了又装,装了又卸,很麻烦。意思:这个意思是你的python环境中缺少名为'zmq'的包,或者是安装不正确导致的。可以直接使用上述命令进行下载,可能会比较慢,推荐使用镜像下载。
2023-10-25 13:54:23
1643
2
原创 C++中的八进制、十进制、十六进制
在C++中,我们编码平常使用的便是十进制,当然在机器底层是转化成二进制,但有个时候,我们需要使用到八进制、十六进制,那么该如何使用呢?
2023-10-20 14:48:54
2089
1
原创 CentOS图形化界面和命令行界面的转化--超详细(Linux操作系统)
Linux系统CentOS 7的图形化界面与命令行界面的相互转化
2023-10-12 13:06:51
16132
2
原创 C++中的函数模板
有时我们会用到函数重载,来应对函数功能一样但输入的参数的类型不一样的,这可以解决函数不同数据类型的影响,但是,函数重载还是要再写一遍不同数据对应的函数体。列如一个简单的求和函数,函数功能都是返回两个数之和,函数重载需要对于输入的形参的不同类型定义函数体。#include<iostream>using namespace std;int sum(int x, int y) { return x + y;}double sum(double x, double y) { retu
2022-05-09 00:01:09
431
原创 C++中如何分割字符串(如何自己编写分割函数)
C++中怎样去分割字符串,以下是我的算法思路,可以看懂后直接改,也可以直接用。大致思路:比如我们有一串字符串 hello,how,are,you,!我想通过逗号把这个连续的字符串分割成几个字串,我们可以用两个标志标志好要分割的字符的前后位置,pos指向开始位置,l_pos指向结束位置,以及一个存储分割后字符串的字符串数组get[]。第一步,初始化pos,l_pos都指向第一个位置。第二步,l_pos不断向后移动一步,每移动一步看所指向的字符是不是分割字符。第三步,当l_pos所指向的字符为分
2022-05-07 16:47:08
4059
原创 C++文件流<fstream>的使用三(输入流的相关函数)
接上篇:(1条消息) C++ 中<fstream>(file stream 文件流)的使用二_一步步走的博客-优快云博客文件输出流的write()函数:使用:write(char* buffer,int count)两个参数 一个是char指针(指向内存数据的起始地址)一个是所写的字节数。#include<iostream>#include<fstream>#include<string>using namespace std;int main.
2022-05-05 14:20:13
1601
原创 C++ 中<fstream>(file stream 文件流)的使用二
接第一篇(1条消息) C++中fstream 的使用一_一步步走的博客-优快云博客对于<fstream>
2022-04-28 00:06:27
2154
原创 C++中如何控制输出格式
1.设置输出宽度1.1 调用width成员函数来设置宽度1.2通过setw(set width)操纵符来设置宽度,使用操纵符时要添加头文件#include<iomanip>代码示例:#include<iostream>#include<iomanip>using namespace std;int main(){ double t[]={1.234,2.345,54.234,5.643}; cout<<"width成员函数设置宽.
2022-04-24 20:54:13
10344
原创 visual studio 中编辑光标由竖线变成块/输入字母间距突然过大
原因:可能是不小心按到了insert键(键盘上应该是Ins)。解决方法:先切换到美式键盘,再按一次insert键就能够恢复。
2022-04-21 12:27:30
4182
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人