(git:374b731)
Loading...
Searching...
No Matches
machine.F File Reference
#include "machine_cpuid.h"

Go to the source code of this file.

Data Types

interface  machine::m_cpuid_static
 Target architecture or instruction set extension according to compiler target flags. More...
 

Modules

module  machine
 Machine interface based on Fortran 2003 and POSIX.
 

Functions/Subroutines

subroutine, public machine::m_flush (lunit)
 flushes units if the &GLOBAL flag is set accordingly
 
real(kind=dp) function, public machine::m_walltime ()
 returns time from a real-time clock, protected against rolling early/easily
 
subroutine, public machine::m_cpuinfo (model_name)
 reads /proc/cpuinfo if it exists (i.e. Linux) to return relevant info
 
pure integer function, public machine::m_cpuid ()
 Target architecture or instruction set extension according to CPU-check at runtime.
 
character(len=default_string_length) function, pointer, public machine::m_cpuid_name (cpuid)
 Determine name of target architecture for a given CPUID.
 
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.
 
subroutine, public machine::m_datum (cal_date)
 returns a datum in human readable format using a standard Fortran routine
 
subroutine, public machine::m_abort ()
 Can be used to get a nice core.
 
integer function, public machine::m_procrun (pid)
 Returns if a process is running on the local machine 1 if yes and 0 if not.
 
subroutine, public machine::m_memory (mem)
 Returns the total amount of memory [bytes] in use, if known, zero otherwise.
 
subroutine, public machine::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 machine::m_hostnm (hname)
 ...
 
subroutine, public machine::m_getcwd (curdir)
 ...
 
subroutine, public machine::m_chdir (dir, ierror)
 ...
 
subroutine, public machine::m_getpid (pid)
 ...
 
subroutine, public machine::m_mov (source, target)
 ...
 
subroutine, public machine::m_getlog (user)
 ...
 
subroutine, public machine::m_get_omp_stacksize (omp_stacksize)
 Retrieve environment variable OMP_STACKSIZE.
 

Variables

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
 
logical, save, public machine::flush_should_flush = .TRUE.
 
integer(kind=int_8), save, public machine::m_memory_max = 0