![]() |
(git:d18deda)
|
Machine interface based on Fortran 2003 and POSIX. More...
Data Types | |
interface | m_cpuid_static |
Target architecture or instruction set extension according to compiler target flags. More... | |
interface | m_omp_trace_issues |
Trace OpenMP constructs if ennvironment variable CP2K_OMP_TRACE=1. More... | |
Functions/Subroutines | |
subroutine, public | m_flush (lunit) |
flushes units if the &GLOBAL flag is set accordingly | |
real(kind=dp) function, public | m_walltime () |
returns time from a real-time clock, protected against rolling early/easily | |
subroutine, public | m_cpuinfo (model_name) |
reads /proc/cpuinfo if it exists (i.e. Linux) to return relevant info | |
pure integer function, public | m_cpuid () |
Target architecture or instruction set extension according to CPU-check at runtime. | |
pure character(len=default_string_length) function, public | m_cpuid_name (cpuid) |
Determine name of target architecture for a given CPUID. | |
pure integer function, public | m_cpuid_vlen (cpuid, typesize) |
Determine vector-length for a given CPUID. | |
real(kind=dp) function, public | m_energy () |
returns the energy used since some time in the past. The precise meaning depends on the infrastructure is available. In the cray_pm_energy case, this is the energy used by the node in kJ. | |
subroutine, public | m_datum (cal_date) |
returns a datum in human readable format using a standard Fortran routine | |
subroutine, public | m_abort () |
Can be used to get a nice core. | |
integer function, public | m_procrun (pid) |
Returns if a process is running on the local machine 1 if yes and 0 if not. | |
subroutine, public | m_memory (mem) |
Returns the total amount of memory [bytes] in use, if known, zero otherwise. | |
subroutine, public | m_memory_details (memtotal, memfree, buffers, cached, slab, sreclaimable, memlikelyfree) |
get more detailed memory info, all units are bytes. the only 'useful' option is MemLikelyFree which is an estimate of remaining memory assumed to give info like /proc/meminfo while MeMLikelyFree is the amount of memory we're likely to be able to allocate, but not necessarily in one chunk zero means not available... | |
subroutine, public | m_hostnm (hname) |
... | |
subroutine, public | m_getcwd (curdir) |
... | |
subroutine, public | m_chdir (dir, ierror) |
... | |
subroutine, public | m_getpid (pid) |
... | |
subroutine, public | m_mov (source, target) |
... | |
subroutine, public | m_getlog (user) |
... | |
subroutine, public | m_omp_get_stacksize (omp_stacksize) |
Retrieve environment variable OMP_STACKSIZE. | |
Variables | |
integer, parameter, public | default_output_unit = output_unit |
integer, parameter, public | default_input_unit = input_unit |
integer, parameter, public | machine_cpu_generic = CP_MACHINE_CPU_GENERIC |
integer, parameter, public | machine_x86_sse4 = CP_MACHINE_X86_SSE4 |
integer, parameter, public | machine_x86_avx = CP_MACHINE_X86_AVX |
integer, parameter, public | machine_x86_avx2 = CP_MACHINE_X86_AVX2 |
integer, parameter, public | machine_x86_avx512 = CP_MACHINE_X86_AVX512 |
integer, parameter, public | machine_x86 = MACHINE_X86_AVX512 |
integer, parameter, public | machine_arm_arch64 = CP_MACHINE_ARM_ARCH64 |
integer, parameter, public | machine_arm_sve128 = CP_MACHINE_ARM_SVE128 |
integer, parameter, public | machine_arm_sve256 = CP_MACHINE_ARM_SVE256 |
integer, parameter, public | machine_arm_sve512 = CP_MACHINE_ARM_SVE512 |
integer, parameter, public | machine_arm = MACHINE_ARM_SVE512 |
integer, parameter, public | machine_cpu_unknown = CP_MACHINE_UNKNOWN |
logical, save, public | flush_should_flush = .TRUE. |
integer(kind=int_8), save, public | m_memory_max = 0 |
Machine interface based on Fortran 2003 and POSIX.
subroutine, public machine::m_flush | ( | integer, intent(in) | lunit | ) |
real(kind=dp) function, public machine::m_walltime |
subroutine, public machine::m_cpuinfo | ( | character(len=default_string_length), intent(out) | model_name | ) |
pure integer function, public machine::m_cpuid |
Target architecture or instruction set extension according to CPU-check at runtime.
Definition at line 193 of file machine.F.
pure character(len=default_string_length) function, public machine::m_cpuid_name | ( | integer, intent(in), optional | cpuid | ) |
Determine name of target architecture for a given CPUID.
cpuid | integer value (MACHINE_*) |
Definition at line 231 of file machine.F.
pure integer function, public machine::m_cpuid_vlen | ( | integer, intent(in), optional | cpuid, |
integer, intent(in), optional | typesize | ||
) |
Determine vector-length for a given CPUID.
cpuid | integer value (MACHINE_*) |
typesize | number of bytes of scalar type |
Definition at line 275 of file machine.F.
real(kind=dp) function, public machine::m_energy |
returns the energy used since some time in the past. The precise meaning depends on the infrastructure is available. In the cray_pm_energy case, this is the energy used by the node in kJ.
Definition at line 326 of file machine.F.
subroutine, public machine::m_datum | ( | character(len=*), intent(out) | cal_date | ) |
subroutine, public machine::m_abort |
integer function, public machine::m_procrun | ( | integer, intent(in) | pid | ) |
subroutine, public machine::m_memory | ( | integer(kind=int_8), intent(out), optional | mem | ) |
subroutine, public machine::m_memory_details | ( | integer(kind=int_8), optional | memtotal, |
integer(kind=int_8), optional | memfree, | ||
integer(kind=int_8), optional | buffers, | ||
integer(kind=int_8), optional | cached, | ||
integer(kind=int_8), optional | slab, | ||
integer(kind=int_8), optional | sreclaimable, | ||
integer(kind=int_8), optional | memlikelyfree | ||
) |
get more detailed memory info, all units are bytes. the only 'useful' option is MemLikelyFree which is an estimate of remaining memory assumed to give info like /proc/meminfo while MeMLikelyFree is the amount of memory we're likely to be able to allocate, but not necessarily in one chunk zero means not available...
MemTotal | ... |
MemFree | ... |
Buffers | ... |
Cached | ... |
Slab | ... |
SReclaimable | ... |
MemLikelyFree | ... |
Definition at line 509 of file machine.F.
subroutine, public machine::m_hostnm | ( | character(len=*), intent(out) | hname | ) |
subroutine, public machine::m_getcwd | ( | character(len=*), intent(out) | curdir | ) |
subroutine, public machine::m_chdir | ( | character(len=*), intent(in) | dir, |
integer, intent(out) | ierror | ||
) |
subroutine, public machine::m_getpid | ( | integer, intent(out) | pid | ) |
subroutine, public machine::m_mov | ( | character(len=*), intent(in) | source, |
character(len=*), intent(in) | target | ||
) |
subroutine, public machine::m_getlog | ( | character(len=*), intent(out) | user | ) |
subroutine, public machine::m_omp_get_stacksize | ( | character(len=*), intent(out) | omp_stacksize | ) |
integer, parameter, public machine::default_output_unit = output_unit |
integer, parameter, public machine::default_input_unit = input_unit |
integer, parameter, public machine::machine_cpu_generic = CP_MACHINE_CPU_GENERIC |
integer, parameter, public machine::machine_x86_sse4 = CP_MACHINE_X86_SSE4 |
integer, parameter, public machine::machine_x86_avx = CP_MACHINE_X86_AVX |
integer, parameter, public machine::machine_x86_avx2 = CP_MACHINE_X86_AVX2 |
integer, parameter, public machine::machine_x86_avx512 = CP_MACHINE_X86_AVX512 |
integer, parameter, public machine::machine_x86 = MACHINE_X86_AVX512 |
integer, parameter, public machine::machine_arm_arch64 = CP_MACHINE_ARM_ARCH64 |
integer, parameter, public machine::machine_arm_sve128 = CP_MACHINE_ARM_SVE128 |
integer, parameter, public machine::machine_arm_sve256 = CP_MACHINE_ARM_SVE256 |
integer, parameter, public machine::machine_arm_sve512 = CP_MACHINE_ARM_SVE512 |
integer, parameter, public machine::machine_arm = MACHINE_ARM_SVE512 |
integer, parameter, public machine::machine_cpu_unknown = CP_MACHINE_UNKNOWN |
logical, save, public machine::flush_should_flush = .TRUE. |