Table 2 Runtime and memory consumption of OCMA in a Linux personal computer for eigen decomposition. The same hardware in Table 1 is used. Operating system is CentOS Linux release 7.3.1611. Four threads are used for the test. The three columns in the “Calculation time” stand for the runtime for three tools: GCTA (Yang et al. 2011), OCMA using memory only, and OCMA using disk (based on mmap technique). The careful interpretation of the comparison between GCTA and OCMA is explained in the main text and Supplementary Notes II. *The usage is slightly larger than the physical memory because of the swapping by the operating system. **GCTA was tested in an HPC cluster when the memory of a personal computer is insufficient. Time is measured by wall-clock (instead of CPU time). Memory consumption is estimated using the formula on the GCTA website and the Intel MKL specification (detailed in the Supplementary Notes). The sign “/” indicates that the system does not allow the calculation to happen due to limited memory and swap spaces or it exceeds the maximal runtime in the HPC
NComputation timeMemory usage
GCTA (GREML)OCMA (Memory)OCMA (Disk)GCTAOCMA (Memory)
10000286.0 s41.6 s55.0 s1.6 GB1.1 GB
200002988 s214.5 s231.8 s6.4 GB4.5 GB
3000014760 s690.1 s889.0 s14.4 GB10.1 GB
400008.4 h0.44 h1.13 h25.6 GB17.9 GB
5000014.2 h0.94 h4.20 h40.0 GB**27.9 GB*
6000027.3 h/8.61 h57.6 GB**/
7000050.3 h/14.85 h//
8000091.3 h/40.90 h//
90000//84.89 h//
100000//127.91 h//