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 300 of file machine.F.

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

◆ idp_lock()

subroutine idp_lock ( integer id)

Definition at line 270 of file machine.F.

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

◆ mkl_init()

subroutine mkl_init ( logical mkl_dyn,
logical omp_nest )

Definition at line 461 of file machine.F.

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

◆ mkl_reset()

subroutine mkl_reset ( logical mkl_dyn,
logical omp_nest )

Definition at line 490 of file machine.F.

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

◆ my_barrier()

subroutine my_barrier

Definition at line 248 of file machine.F.

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

◆ my_etime()

subroutine my_etime ( real, dimension(2) timer)

Definition at line 398 of file machine.F.

399 REAL RESULT
400 REAL, DIMENSION(2) :: TIMER
401#ifdef COMP_NVFORTRAN
402 REAL, EXTERNAL :: ETIME
403#endif
404#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
405 result = etime_(timer)
406#elif CPP_mach == CPP_ymp || CPP_mach == CPP_c90 || CPP_mach == CPP_ymp_spmd || CPP_mach == CPP_t90 || CPP_mach == CPP_t90_i3e
407 CALL tsecnd(timer)
408#elif CPP_mach == CPP_sx4 || CPP_mach == CPP_sx4_i3e
409 result = etime(timer)
410/* el51e9 #elif CPP_mach == CPP_w95 || CPP_mach == CPP_ant || CPP_mach == CPP_wnt || CPP_mach == CPP_wmr */
411#elif cpp_mach == cpp_w95 || cpp_mach == cpp_wnt || cpp_mach == cpp_wmr
412 timer(1) = 0.
413#elif CPP_mach == CPP_win64_spmd || CPP_mach == CPP_p4win64_spmd || CPP_mach == CPP_p4win64
414 CALL cpu_time(timer(1))
415#elif CPP_mach == CPP_cx1_spmd || CPP_mach == CPP_cx1
416 result = etimec(timer)
417#elif 1
418 result = etime(timer)
419#endif
420 RETURN

◆ my_flush()

subroutine my_flush ( integer iunit)

Definition at line 435 of file machine.F.

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

◆ sync_data()

subroutine sync_data ( integer, dimension(*) ii)

Definition at line 382 of file machine.F.

383 INTEGER II(*)
384 RETURN

◆ user_free()

subroutine user_free

Definition at line 314 of file machine.F.

315 CALL idp_free(1)
316 RETURN
subroutine idp_free(id)
Definition machine.F:301

◆ user_lock()

subroutine user_lock

Definition at line 284 of file machine.F.

285 CALL idp_lock(1)
286 RETURN
subroutine idp_lock(id)
Definition machine.F:271

◆ wait_task()

subroutine wait_task ( integer, dimension(*) itid)

Definition at line 322 of file machine.F.

323 INTEGER ITID(*)
324#if defined(_OPENMP)
325#endif
326 RETURN

◆ write_iout()

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

Definition at line 518 of file machine.F.

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