singularity镜像创建与使用

首先贴上官方文档,Singularity是一个类似与docker的软体,它允许你创建容器并复制到另一主机中利用宿主机的资源运行,这里只简单列出一些常用的命令。 安装 Ubuntu: sudo apt-get update && sudo apt-get install python dh-autoreconf build-essential Centos: sudo yum update && sudo yum groupinstall ‘Development Tools’ # clone可以选择release版本进行安装 $ git clone https://github.com/singularityware/singularity.git $ cd singularity $ ./autogen.sh $ ./configure –prefix=/usr/local –sysconfdir=/etc $ make $ sudo make install 创建容器 singularity build containerName.simg Singularity 其中,Singularity是对应的build脚本。 进入容器里面 singularity shell -n containerName.simg […]

使用scp与服务器传送文件

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。来源 命令格式 scp [参数] [原路径] [目标路径] 常用命令参数 -r 递归复制整个目录 -P port 指定传输端口 常用命令 scp local_file remote_username@remote_ip:remote_folder scp remote_username@remote_ip:remote_folder local_folder 若为文件夹则使用-r参数,另外可在目标路径指定传送后的文件名。 更多请见原文

[C++] C++11中函数声明的方式

C++11中有两种声明函数的方式,一种如同C里面继承过来的 return-type identifier ( argument-declarations… ) 另外一种是C++11中新定义的,能够配合decltype配合使用的 auto identifier ( argument-declarations… ) -> return_type 两种定义效果相同,而后者能够方便地使用decltype来推断返回类型,这在泛型编程中十分管用,详见stackoverflow 另外,在C++14中,在函数被调用前能够明确给出定义,并且所有return语句都deduce到相同返回类型,函数还允许这样的简化声明 auto identifier ( argument-declarations… )

[C++] C++11 decltype关键字

在C++11中,decltype和auto都是关于类型的关键字。auto能够在编译时自动选择变量类型(当然还有其他很多用法,这里主要记录decltype),而decltype则能够推测出变量的类型,这与typeid关键字有点相似,但两者的机制完全不同。 typeid typeid使用的是RTTI(Run-Time Type Identification)机制,由于它是在运行时进行类型确认,会影响运行效率。 decltype decltype关键字则是在编译时便确定变量类型,它有许多有用的用法,例如使用已有变量定义新变量的类型、重用匿名类型、泛型编程中结合auto追踪函数的返回值类型(例子如下)。 template <typename _Tx, typename _Ty> auto multiply(_Tx x, _Ty y)->decltype(_Tx*_Ty) { return x*y; } 详细参考原博客