基类的函数没有声明为 virtual,在派生类中一个同名函数会覆盖基类的所有重载函数。
name hiding
基类的函数没有声明为 virtual,在派生类中一个同名函数会覆盖基类的所有重载函数。
name hiding
int * flag, // 是否有对象完成
有任意一个通信操作完成, flag=true, index是操作完成对象的索引
int * flag, // 所有非阻塞通信对象是否都完成
非阻塞, 有任意一个通信未完成时, flag=false
MPI_Send_init MPI_Recv_init
一次初始化, 多次发送接收
消息已成功发出或者接收
本质上时发送的数据包+信封得到了转移, 有可能是放在了系统缓存区,也有可能是被接收方开始接收
缓冲区有限
接收方开始Recv, 那数据临时存放在哪, 不还是系统缓冲区吗, 如果缓冲区有限不够存储怎么办
SIMD结构有三种变体:向量体系结构、多媒体SIMD指令集扩展和图形处理单元。
CPU: 向量体系结构 GPU: 图形处理单元
svnadmin hotcopy path/to/repository path/to/backup --clean-logs
全量备份
account:账户,一个账户可以含有多个用户。 user:用户,多个用户可以共享一个账户。
不开账户能直接提交吗
0.25ΔycΔyw≈0.25Δyc\Delta y_w \approx 0.25 \Delta y_c
delta_yplus = 167,112,83,55
Open a cmd prompt (Click Run.. then enter cmd)
必须打开cmd窗口?powershell测试不通过
But it is designed to compile applications that use Windows APIs, not POSIX APIs
mingw直接使用的windows api,不是posix apis,如何判断程序是否使用了posix apis,从而决定是否用cygwin或mingw
教程假设您使用的是 Linux 操作系统,我们要使用 POSIX 编写多线程 C++ 程序。POSIX Threads 或 Pthreads 提供的 API 可在多种类 Unix POSIX 系统上可用
对于c++ 11标准,提供std::thread类,是跨平台的多线程处理类
如果在头文件中定义了变量(该做法是错误的!),在多个cpp文件中包含,编译时会有多个.o文件中有这个变量,所以在链接环节会出错
头文件中只能出现声明,不能出现变量或函数的定义
用一个定义过的变量,只要在变量名前面加美元符号即可
如果不加$符号,则打印的不是变量的值,而是变量本身的名字
When the - option is used, -p is ignored.
sudo su切换到root时,并没有保留环境变量,su username 保留了原先的环境变量, su - username不保留原先shell的环境变量
(目前跨文件的引用是不会被检索到的)
那用处不大,很多时候都是跨文件的
::iterator
需要使用迭代器
map<int, string> sample_map { { 1, "one"}, { 2, "two" } }; sample_map[3] = "three"; sample_map.insert({ 4, "four" });
三种添加map元素的方式
If the CONFIGURE_DEPENDS flag is specified, CMake will add logic to the main build system check target to rerun the flagged GLOB commands at build time. If any of the outputs change, CMake will regenerate the build system.
啥意思?是不是cmake 2.x版本,如果文件有增删,file(GLOB ...)是检测不到变化的,如果加了CONFIGURE_DEPENDS flag就能检测的到?
function-level compile-time options
函数级别(局部)编译时选项
mpirun -np 4 xterm -e gdb ./runMpi
参数需各个线程单独设置 set args ...
Data Mode
面向用户的