OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
machine.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "task_c.inc"
#include "units_c.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine my_barrier
subroutine idp_lock (id)
subroutine user_lock ()
subroutine idp_free (id)
subroutine user_free ()
subroutine wait_task (itid)
subroutine sync_data (ii)
subroutine my_etime (timer)
subroutine my_flush (iunit)
subroutine mkl_init (mkl_dyn, omp_nest)
subroutine mkl_reset (mkl_dyn, omp_nest)
subroutine write_iout (line, len1)

Function/Subroutine Documentation

◆ idp_free()

subroutine idp_free ( integer id)

Definition at line 298 of file machine.F.

299#include "comlock.inc"
300 INTEGER ID
301#if defined(_OPENMP)
302 CALL omp_unset_lock(llock(1,id))
303#endif
304 RETURN
initmumps id

◆ idp_lock()

subroutine idp_lock ( integer id)

Definition at line 268 of file machine.F.

269#include "comlock.inc"
270 INTEGER ID
271#if defined(_OPENMP)
272 CALL omp_set_lock(llock(1,id))
273#endif
274 RETURN

◆ mkl_init()

subroutine mkl_init ( logical mkl_dyn,
logical omp_nest )

Definition at line 459 of file machine.F.

460C-----------------------------------------------
461C I m p l i c i t T y p e s
462C-----------------------------------------------
463#include "implicit_f.inc"
464C-----------------------------------------------
465C D u m m y A r g u m e n t s
466C-----------------------------------------------
467 LOGICAL MKL_DYN,OMP_NEST
468C-----------------------------------------------
469C L o c a l V a r i a b l e s
470C-----------------------------------------------
471 LOGICAL omp_get_nested, mkl_get_dynamic
472 EXTERNAL omp_get_nested, mkl_get_dynamic
473C call a rendre specifique machine en cas de pb de compilation
474C#if CPP_mach == CPP_p4linux964 || CPP_mach == CPP_p4linux932 || CPP_mach == CPP_il || CPP_mach == CPP_p4win64 || CPP_mach == CPP_p4win32
475#if defined mkl
476 mkl_dyn = omp_get_nested()
477 omp_nest = mkl_get_dynamic()
478 call omp_set_nested(.true.)
479 call mkl_set_dynamic(.false.)
480#endif
481 RETURN

◆ mkl_reset()

subroutine mkl_reset ( logical mkl_dyn,
logical omp_nest )

Definition at line 488 of file machine.F.

489C-----------------------------------------------
490C I m p l i c i t T y p e s
491C-----------------------------------------------
492#include "implicit_f.inc"
493C-----------------------------------------------
494C D u m m y A r g u m e n t s
495C-----------------------------------------------
496 LOGICAL MKL_DYN,OMP_NEST
497C-----------------------------------------------
498C L o c a l V a r i a b l e s
499C-----------------------------------------------
500 LOGICAL omp_get_nested, mkl_get_dynamic
501 EXTERNAL omp_get_nested, mkl_get_dynamic
502C call a rendre specifique machine en cas de pb de compilation
503C#if CPP_mach == CPP_p4linux964 || CPP_mach == CPP_p4linux932 || CPP_mach == CPP_il || CPP_mach == CPP_p4win64 || CPP_mach == CPP_p4win32
504#if defined mkl
505 call omp_set_nested(omp_nest)
506 call mkl_set_dynamic(mkl_dyn)
507c MKL_DYN = omp_get_nested()
508c OMP_NEST = mkl_get_dynamic()
509#endif
510 RETURN

◆ my_barrier()

subroutine my_barrier

Definition at line 246 of file machine.F.

247#include "implicit_f.inc"
248#include "comlock.inc"
249#include "task_c.inc"
250#include "units_c.inc"
251#if defined(_OPENMP)
252!$OMP BARRIER
253#endif
254 RETURN

◆ my_etime()

subroutine my_etime ( real, dimension(2) timer)

Definition at line 396 of file machine.F.

397 REAL RESULT
398 REAL, DIMENSION(2) :: TIMER
399#ifdef COMP_NVFORTRAN
400 REAL, EXTERNAL :: ETIME
401#endif
402#if CPP_mach == cpp_rs7 || cpp_mach == cpp_rs9 || cpp_mach == cpp_sp2 || cpp_mach == cpp_ppc || cpp_mach == cpp_pwr4 || cpp_mach == cpp_pwr4_spmd
403 result = etime_(timer)
404#elif CPP_mach == CPP_ymp || CPP_mach == CPP_c90 || CPP_mach == CPP_ymp_spmd || CPP_mach == CPP_t90 || CPP_mach == CPP_t90_i3e
405 CALL tsecnd(timer)
406#elif CPP_mach == CPP_sx4 || CPP_mach == CPP_sx4_i3e
407 result = etime(timer)
408/* el51e9 #elif CPP_mach == CPP_w95 || CPP_mach == CPP_ant || CPP_mach == CPP_wnt || CPP_mach == CPP_wmr */
409#elif CPP_mach == CPP_w95 || CPP_mach == CPP_wnt || CPP_mach == CPP_wmr
410 timer(1) = 0.
411#elif CPP_mach == CPP_win64_spmd || CPP_mach == CPP_p4win64_spmd || CPP_mach == CPP_p4win64
412 CALL cpu_time(timer(1))
413#elif CPP_mach == CPP_cx1_spmd || CPP_mach == CPP_cx1
414 result = etimec(timer)
415#elif 1
416 result = etime(timer)
417#endif
418 RETURN

◆ my_flush()

subroutine my_flush ( integer iunit)

Definition at line 433 of file machine.F.

434C appel Fortran flush
435C-----------------------------------------------
436C I m p l i c i t T y p e s
437C-----------------------------------------------
438#include "implicit_f.inc"
439C-----------------------------------------------
440C D u m m y A r g u m e n t s
441C-----------------------------------------------
442 INTEGER IUNIT
443C-----------------------------------------------
444C L o c a l V a r i a b l e s
445C-----------------------------------------------
446C call a rendre specifique machine en cas de pb de compilation
447#if CPP_mach == cpp_pwr4 || cpp_mach == cpp_pwr4_spmd
448C pas de routine FLUSH sur AIX
449#elif 1
450 CALL flush(iunit)
451#endif
452 RETURN

◆ sync_data()

subroutine sync_data ( integer, dimension(*) ii)

Definition at line 380 of file machine.F.

381 INTEGER II(*)
382 RETURN

◆ user_free()

subroutine user_free

Definition at line 312 of file machine.F.

313 CALL idp_free(1)
314 RETURN
subroutine idp_free(id)
Definition machine.F:299

◆ user_lock()

subroutine user_lock

Definition at line 282 of file machine.F.

283 CALL idp_lock(1)
284 RETURN
subroutine idp_lock(id)
Definition machine.F:269

◆ wait_task()

subroutine wait_task ( integer, dimension(*) itid)

Definition at line 320 of file machine.F.

321 INTEGER ITID(*),IT,JT
322#if defined(_OPENMP)
323#endif
324 RETURN

◆ write_iout()

subroutine write_iout ( character(len=len1) line,
integer len1 )

Definition at line 516 of file machine.F.

517C-----------------------------------------------
518C I m p l i c i t T y p e s
519C-----------------------------------------------
520#include "implicit_f.inc"
521#include "comlock.inc"
522C-----------------------------------------------
523C C o m m o n B l o c k s
524C-----------------------------------------------
525#include "units_c.inc"
526C-----------------------------------------------
527C D u m m y A r g u m e n t s
528C-----------------------------------------------
529 INTEGER LEN1
530 CHARACTER(len=LEN1) LINE
531C-----------------------------------------------
532#include "lockon.inc"
533 WRITE(iout,'(A)') line(1:len1)
534#include "lockoff.inc"
535