在 LSDYNA 中,内存按 Word 组织,32 为操作系统上,单精度 1Word=4bytes,双精度 1Word=8bytes,假如你要设置 1G(1000M) 的内存,如果是单精度,则计算公式如下:
\[\frac{Y \times 4}{1024 \times 1024} = 1000\]
我们根据这个公司可以计算出 Y,因此,这个设置如下:
keyword_ID NCPU=4 MEMORY=262144000
如果直接在命令行里面设置是这样的:
LSDYNA.EXE *.K NCPU=4 MEMORY=262144000
这就是在一台拥有四核 CPU 的电脑上,给提交计算的文件分配了 1G 的内存。
LSDYNA 中内存 memory 的设置一 words 为单位,64bit 系统,1 个 words=8Byte,因此申请时需要注意分配的大小。
另外,LSDYNA 在申请内存时,对于 SMP 和 MPP 两种方式有着不同的意义。对于共享内存的 SMP,命令行中的 memroy=XXX 表示多个 cpu 共用的内存总数为 XXX,而在分布式计算的 MPP 中,memory 有两个值,MEMORY_1,在命令行中以 memory=XXX 设定,该值为主节点(master node,一般为第一个节点)使用的内存数,用于划分模型时使用(decompose the model);MEMORY_2,在命令行中以 memory2=XXX 表示,该值为各个核(包括主节点的核)使用的内存数,用于求解划分后的模型。Memory2 依赖于节点数量,节点数越多,划分后的模型越小,这个值就可以越小。
[版权声明] :本文文字、代码及图片版权归原作者所有,任何媒体、网站或个人未经本网协议授权不得采集、整理、转载或以其他方式复制发表。已经本站协议授权的媒体、网站,在使用时必须注明“稿件来源:学研谷”。