185 integer ,
intent( in) :: n1
186 double precision,
intent(out),
allocatable,
dimension(:) :: t
187 character(len=*),
intent( in) :: tname
192 allocate(t(n1),stat=err)
196 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
227 integer ,
intent( in) :: n1
228 integer ,
intent( in) :: n2
229 double precision,
intent(out),
allocatable,
dimension(:,:) :: t
230 character(len=*),
intent( in) :: tname
236 allocate(t(n2,n1),stat=err)
240 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
272 integer ,
intent( in) :: n1
273 real ,
intent(out),
allocatable,
dimension(:) :: t
274 character(len=*),
intent( in) :: tname
279 allocate(t(n1),stat=err)
283 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
313 integer ,
intent( in) :: n1
314 integer ,
intent( in) :: n2
315 real ,
intent(out),
allocatable,
dimension(:,:) :: t
316 character(len=*),
intent( in) :: tname
322 allocate(t(n2,n1),stat=err)
326 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
359 integer ,
intent( in) :: n1
360 integer ,
intent( in) :: n2
361 integer ,
intent( in) :: n3
362 real ,
intent(out),
allocatable,
dimension(:,:,:) :: t
363 character(len=*),
intent( in) :: tname
370 allocate(t(n3,n2,n1),stat=err)
374 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
410 integer ,
intent( in) :: n1
411 integer ,
intent( in) :: n2
412 integer ,
intent( in) :: n3
413 integer ,
intent( in) :: n4
414 real ,
intent(out),
allocatable,
dimension(:,:,:,:) :: t
415 character(len=*),
intent(in) :: tname
423 allocate(t(n4,n3,n2,n1),stat=err)
427 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
466 integer ,
intent( in) :: n1
467 integer ,
intent( in) :: n2
468 integer ,
intent( in) :: n3
469 integer ,
intent( in) :: n4
470 integer ,
intent( in) :: n5
471 real ,
intent(out),
allocatable,
dimension(:,:,:,:,:) :: t
472 character(len=*),
intent(in) :: tname
481 allocate(t(n5,n4,n3,n2,n1),stat=err)
485 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
522 integer ,
intent( in) :: n1
523 integer ,
intent(out),
allocatable,
dimension(:) :: t
524 character(len=*),
intent( in) :: tname
529 allocate(t(n1),stat=err)
533 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
563 integer ,
intent( in) :: n1
564 integer ,
intent( in) :: n2
565 integer ,
intent(out),
allocatable,
dimension(:,:) :: t
566 character(len=*),
intent( in) :: tname
572 allocate(t(n2,n1),stat=err)
576 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
609 integer ,
intent( in) :: n1
610 integer ,
intent( in) :: n2
611 integer ,
intent( in) :: n3
612 integer ,
intent(out),
allocatable,
dimension(:,:,:) :: t
613 character(len=*),
intent( in) :: tname
620 allocate(t(n3,n2,n1),stat=err)
624 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
660 integer ,
intent( in) :: n1
661 integer ,
intent( in) :: n2
662 integer ,
intent( in) :: n3
663 integer ,
intent( in) :: n4
664 integer ,
intent(out),
allocatable,
dimension(:,:,:,:) :: t
665 character(len=*),
intent(in) :: tname
673 allocate(t(n4,n3,n2,n1),stat=err)
677 call error_stop(
"error while allocating array "//trim(adjustl(tname)))
713 real,
parameter :: mo = (1024.0)**2
715 real :: total_memory_all_cpu
716 real :: size_cpu_world(ig_ncpu)
721 total_memory_all_cpu = 0.0
723 total_memory = total_memory +
real(sizeof(lg_visco))/mo
724 total_memory = total_memory +
real(sizeof(lg_snapshot_vtk))/mo
725 total_memory = total_memory +
real(sizeof(lg_snapshot_gmt))/mo
726 total_memory = total_memory +
real(sizeof(lg_output_medium_vtk))/mo
727 total_memory = total_memory +
real(sizeof(ig_lagrange_order))/mo
728 total_memory = total_memory +
real(sizeof(ig_ngll))/mo
729 total_memory = total_memory +
real(sizeof(ig_lst_unit))/mo
730 total_memory = total_memory +
real(sizeof(ig_ndof))/mo
731 total_memory = total_memory +
real(sizeof(ig_nrelax))/mo
732 total_memory = total_memory +
real(sizeof(rg_newmark_gamma))/mo
733 total_memory = total_memory +
real(sizeof(rg_pi))/mo
734 total_memory = total_memory +
real(sizeof(epsilon_machine))/mo
735 total_memory = total_memory +
real(sizeof(tiny_real))/mo
736 total_memory = total_memory +
real(sizeof(lg_async_mpi_comm))/mo
737 total_memory = total_memory +
real(sizeof(lg_output_cputime))/mo
738 total_memory = total_memory +
real(sizeof(lg_output_debug_file))/mo
740 total_memory = total_memory +
real(sizeof(rg_dcsource_gll_force))/mo
741 total_memory = total_memory +
real(sizeof(rg_hexa_gll_jacobian_det))/mo
742 total_memory = total_memory +
real(sizeof(rg_hexa_gll_dxidx))/mo
743 total_memory = total_memory +
real(sizeof(rg_hexa_gll_dxidy))/mo
744 total_memory = total_memory +
real(sizeof(rg_hexa_gll_dxidz))/mo
745 total_memory = total_memory +
real(sizeof(rg_hexa_gll_detdx))/mo
746 total_memory = total_memory +
real(sizeof(rg_hexa_gll_detdy))/mo
747 total_memory = total_memory +
real(sizeof(rg_hexa_gll_detdz))/mo
748 total_memory = total_memory +
real(sizeof(rg_hexa_gll_dzedx))/mo
749 total_memory = total_memory +
real(sizeof(rg_hexa_gll_dzedy))/mo
750 total_memory = total_memory +
real(sizeof(rg_hexa_gll_dzedz))/mo
751 total_memory = total_memory +
real(sizeof(rg_hexa_gll_rho))/mo
752 total_memory = total_memory +
real(sizeof(rg_hexa_gll_rhovs2))/mo
753 total_memory = total_memory +
real(sizeof(rg_hexa_gll_rhovp2))/mo
754 total_memory = total_memory +
real(sizeof(rg_quadp_gll_rhovs))/mo
755 total_memory = total_memory +
real(sizeof(rg_quadp_gll_rhovp))/mo
756 total_memory = total_memory +
real(sizeof(rg_quadp_gll_jaco_det))/mo
757 total_memory = total_memory +
real(sizeof(rg_quadp_gll_normal))/mo
758 total_memory = total_memory +
real(sizeof(rg_hexa_gll_wkqs))/mo
759 total_memory = total_memory +
real(sizeof(rg_hexa_gll_wkqp))/mo
760 total_memory = total_memory +
real(sizeof(rg_hexa_gll_ksixx))/mo
761 total_memory = total_memory +
real(sizeof(rg_hexa_gll_ksiyy))/mo
762 total_memory = total_memory +
real(sizeof(rg_hexa_gll_ksizz))/mo
763 total_memory = total_memory +
real(sizeof(rg_hexa_gll_ksixy))/mo
764 total_memory = total_memory +
real(sizeof(rg_hexa_gll_ksixz))/mo
765 total_memory = total_memory +
real(sizeof(rg_hexa_gll_ksiyz))/mo
766 total_memory = total_memory +
real(sizeof(rg_relax_coeff))/mo
767 total_memory = total_memory +
real(sizeof(rg_mem_var_exp))/mo
768 total_memory = total_memory +
real(sizeof(rg_gll_displacement))/mo
769 total_memory = total_memory +
real(sizeof(rg_gll_velocity))/mo
770 total_memory = total_memory +
real(sizeof(rg_gll_acceleration))/mo
771 total_memory = total_memory +
real(sizeof(rg_gnode_abscissa))/mo
772 total_memory = total_memory +
real(sizeof(rg_gnode_abscissa_dist))/mo
773 total_memory = total_memory +
real(sizeof(rg_gll_mass_matrix))/mo
774 total_memory = total_memory +
real(sizeof(rg_gnode_x))/mo
775 total_memory = total_memory +
real(sizeof(rg_gnode_y))/mo
776 total_memory = total_memory +
real(sizeof(rg_gnode_z))/mo
777 total_memory = total_memory +
real(sizeof(rg_receiver_snapshot_z))/mo
778 total_memory = total_memory +
real(sizeof(ig_receiver_snapshot_locnum))/mo
779 total_memory = total_memory +
real(sizeof(rg_dcsource_user_func))/mo
780 total_memory = total_memory +
real(sizeof(rg_sfsource_user_func))/mo
781 total_memory = total_memory +
real(sizeof(rg_mpi_buffer_send))/mo
782 total_memory = total_memory +
real(sizeof(rg_mpi_buffer_recv))/mo
783 total_memory = total_memory +
real(sizeof(rg_dt))/mo
784 total_memory = total_memory +
real(sizeof(rg_dt2))/mo
785 total_memory = total_memory +
real(sizeof(rg_simu_current_time))/mo
786 total_memory = total_memory +
real(sizeof(rg_simu_total_time))/mo
787 total_memory = total_memory +
real(sizeof(rg_mesh_xmax))/mo
788 total_memory = total_memory +
real(sizeof(rg_mesh_xmin))/mo
789 total_memory = total_memory +
real(sizeof(rg_mesh_ymax))/mo
790 total_memory = total_memory +
real(sizeof(rg_mesh_ymin))/mo
791 total_memory = total_memory +
real(sizeof(rg_mesh_zmax))/mo
792 total_memory = total_memory +
real(sizeof(rg_mesh_zmin))/mo
793 total_memory = total_memory +
real(sizeof(rg_receiver_snapshot_dxdy))/mo
794 total_memory = total_memory +
real(sizeof(rg_receiver_snapshot_dx))/mo
795 total_memory = total_memory +
real(sizeof(rg_receiver_snapshot_dy))/mo
796 total_memory = total_memory +
real(sizeof(ig_receiver_snapshot_nx))/mo
797 total_memory = total_memory +
real(sizeof(ig_receiver_snapshot_ny))/mo
798 total_memory = total_memory +
real(sizeof(ig_hexa_gll_glonum))/mo
799 total_memory = total_memory +
real(sizeof(ig_quadp_gll_glonum))/mo
800 total_memory = total_memory +
real(sizeof(ig_quadf_gll_glonum))/mo
801 total_memory = total_memory +
real(sizeof(ig_hexa_gnode_glonum))/mo
802 total_memory = total_memory +
real(sizeof(ig_quadp_gnode_glonum))/mo
803 total_memory = total_memory +
real(sizeof(ig_quadf_gnode_glonum))/mo
804 total_memory = total_memory +
real(sizeof(ig_hexa_gnode_xiloc))/mo
805 total_memory = total_memory +
real(sizeof(ig_hexa_gnode_etloc))/mo
806 total_memory = total_memory +
real(sizeof(ig_hexa_gnode_zeloc))/mo
807 total_memory = total_memory +
real(sizeof(ig_quad_gnode_xiloc))/mo
808 total_memory = total_memory +
real(sizeof(ig_quad_gnode_etloc))/mo
809 total_memory = total_memory +
real(sizeof(ig_hexa_receiver_unit))/mo
810 total_memory = total_memory +
real(sizeof(ig_quad_receiver_unit))/mo
811 total_memory = total_memory +
real(sizeof(ig_mpi_buffer_sizemax))/mo
812 total_memory = total_memory +
real(sizeof(ig_mpi_request_send))/mo
813 total_memory = total_memory +
real(sizeof(ig_mpi_request_recv))/mo
814 total_memory = total_memory +
real(sizeof(ig_mpi_buffer_offset))/mo
815 total_memory = total_memory +
real(sizeof(ig_hexa_material_number))/mo
816 total_memory = total_memory +
real(sizeof(ig_material_type))/mo
817 total_memory = total_memory +
real(sizeof(ig_receiver_snapshot_glonum))/mo
818 total_memory = total_memory +
real(sizeof(ig_receiver_snapshot_mpi_shift))/mo
819 total_memory = total_memory +
real(sizeof(ig_receiver_snapshot_total_number))/mo
820 total_memory = total_memory +
real(sizeof(ig_ncpu))/mo
821 total_memory = total_memory +
real(sizeof(ig_myrank))/mo
822 total_memory = total_memory +
real(sizeof(ig_ncpu_neighbor))/mo
823 total_memory = total_memory +
real(sizeof(ig_cpu_neighbor_info))/mo
824 total_memory = total_memory +
real(sizeof(ig_nhexa))/mo
825 total_memory = total_memory +
real(sizeof(ig_nhexa_outer))/mo
826 total_memory = total_memory +
real(sizeof(ig_nhexa_inner))/mo
827 total_memory = total_memory +
real(sizeof(ig_nquad_parax))/mo
828 total_memory = total_memory +
real(sizeof(ig_nquad_fsurf))/mo
829 total_memory = total_memory +
real(sizeof(ig_mesh_nnode))/mo
830 total_memory = total_memory +
real(sizeof(ig_hexa_nnode))/mo
831 total_memory = total_memory +
real(sizeof(ig_quad_nnode))/mo
832 total_memory = total_memory +
real(sizeof(ig_line_nnode))/mo
833 total_memory = total_memory +
real(sizeof(ig_hexa_node2gll))/mo
834 total_memory = total_memory +
real(sizeof(ig_ndt))/mo
835 total_memory = total_memory +
real(sizeof(ig_idt))/mo
836 total_memory = total_memory +
real(sizeof(ig_receiver_saving_incr))/mo
837 total_memory = total_memory +
real(sizeof(ig_snapshot_saving_incr))/mo
838 total_memory = total_memory +
real(sizeof(ig_snapshot_volume_saving_incr))/mo
839 total_memory = total_memory +
real(sizeof(lg_boundary_absorption))/mo
840 total_memory = total_memory +
real(sizeof(ig_ndcsource))/mo
841 total_memory = total_memory +
real(sizeof(ig_nsfsource))/mo
842 total_memory = total_memory +
real(sizeof(ig_nreceiver_hexa))/mo
843 total_memory = total_memory +
real(sizeof(ig_nreceiver_quad))/mo
844 total_memory = total_memory +
real(sizeof(ig_nreceiver_snapshot))/mo
845 total_memory = total_memory +
real(sizeof(ig_medium_type))/mo
846 total_memory = total_memory +
real(sizeof(ig_nmaterial))/mo
847 total_memory = total_memory +
real(sizeof(ig_quadp_neighbor_hexa))/mo
848 total_memory = total_memory +
real(sizeof(ig_quadp_neighbor_hexaface))/mo
849 total_memory = total_memory +
real(sizeof(ig_nneighbor_all_kind))/mo
850 total_memory = total_memory +
real(sizeof(ig_cpu_name_len))/mo
851 total_memory = total_memory +
real(sizeof(cg_cpu_name))/mo
852 total_memory = total_memory +
real(sizeof(cg_prefix))/mo
853 total_memory = total_memory +
real(sizeof(cg_myrank))/mo
854 total_memory = total_memory +
real(sizeof(cg_ncpu))/mo
855 total_memory = total_memory +
real(sizeof(lg_snapshot))/mo
856 total_memory = total_memory +
real(sizeof(lg_snapshot_displacement))/mo
857 total_memory = total_memory +
real(sizeof(lg_snapshot_velocity))/mo
858 total_memory = total_memory +
real(sizeof(lg_snapshot_acceleration))/mo
859 total_memory = total_memory +
real(sizeof(lg_snapshot_volume))/mo
860 total_memory = total_memory +
real(sizeof(lg_snapshot_volume_displacement))/mo
861 total_memory = total_memory +
real(sizeof(lg_snapshot_volume_velocity))/mo
862 total_memory = total_memory +
real(sizeof(lg_snapshot_volume_acceleration))/mo
864 total_memory = total_memory +
real(sizeof(rg_gll_coordinate))/mo
865 total_memory = total_memory +
real(sizeof(rg_gll_weight))/mo
866 total_memory = total_memory +
real(sizeof(rg_gll_abscissa))/mo
867 total_memory = total_memory +
real(sizeof(rg_gll_lagrange_deriv))/mo
868 total_memory = total_memory +
real(sizeof(rg_gll_abscissa_dist))/mo
869 total_memory = total_memory +
real(sizeof(ig_ngll_total))/mo
871 total_memory = total_memory +
real(sizeof(ig_hexa_snapshot))/mo
872 total_memory = total_memory +
real(sizeof(ig_vtk_hexa_conn_snapshot))/mo
873 total_memory = total_memory +
real(sizeof(ig_vtk_node_gll_glonum_snapshot))/mo
874 total_memory = total_memory +
real(sizeof(rg_vtk_node_x_snapshot))/mo
875 total_memory = total_memory +
real(sizeof(rg_vtk_node_y_snapshot))/mo
876 total_memory = total_memory +
real(sizeof(rg_vtk_node_z_snapshot))/mo
877 total_memory = total_memory +
real(sizeof(ig_vtk_cell_type_snapshot))/mo
878 total_memory = total_memory +
real(sizeof(ig_vtk_offset_snapshot))/mo
879 total_memory = total_memory +
real(sizeof(ig_vtk_nhexa_snapshot))/mo
880 total_memory = total_memory +
real(sizeof(ig_vtk_nnode_snapshot))/mo
881 total_memory = total_memory +
real(sizeof(rg_snapshot_volume_xmin))/mo
882 total_memory = total_memory +
real(sizeof(rg_snapshot_volume_xmax))/mo
883 total_memory = total_memory +
real(sizeof(rg_snapshot_volume_ymin))/mo
884 total_memory = total_memory +
real(sizeof(rg_snapshot_volume_ymax))/mo
885 total_memory = total_memory +
real(sizeof(rg_snapshot_volume_zmin))/mo
886 total_memory = total_memory +
real(sizeof(rg_snapshot_volume_zmax))/mo
888 total_memory = total_memory +
real(sizeof(tg_sfsource))/mo
889 total_memory = total_memory +
real(sizeof(tg_dcsource))/mo
890 total_memory = total_memory +
real(sizeof(tg_receiver_hexa))/mo
891 total_memory = total_memory +
real(sizeof(tg_receiver_snapshot_quad))/mo
892 total_memory = total_memory +
real(sizeof(tg_cpu_neighbor))/mo
893 total_memory = total_memory +
real(sizeof(tg_elastic_material))/mo
894 total_memory = total_memory +
real(sizeof(tg_viscoelastic_material))/mo
898 call mpi_gather(total_memory,1,mpi_real,size_cpu_world,1,mpi_real,0,mpi_comm_world,ios)
902 if (ig_myrank == 0)
then
904 write(ig_lst_unit,
'(" ",/,a)')
"memory consumption approximation"
907 write(ig_lst_unit,
'(a,i8,a,f15.3,a)')
"cpu ",i-1,
" : ",size_cpu_world(i),
" Mo"
908 total_memory_all_cpu = total_memory_all_cpu + size_cpu_world(i)
911 write(ig_lst_unit,
'(a,9x,f15.3,a)')
"Total ",total_memory_all_cpu,
" Mo"
This module contains subroutines to allocate arrays and to compute an approximation of the total RAM ...
integer function init_array_rank3_int(t, n1, n2, n3, tname)
This subroutine allocates int-value array of rank 3.
integer function init_array_rank1_real_dp(t, n1, tname)
This subroutine allocates real-double-precision-value array of rank 1.
integer function init_array_rank5_real(t, n1, n2, n3, n4, n5, tname)
This subroutine allocates real-value array of order 5.
integer function init_array_rank1_real(t, n1, tname)
This subroutine allocates real-value array of rank 1.
integer function init_array_rank4_int(t, n1, n2, n3, n4, tname)
This subroutine allocates int-value array of order 4.
This module defines all global variables of EFISPEC3D. Scalar variables are initialized directly in t...
Interface init_array_real to redirect allocation to n-rank arrays.
subroutine, public memory_consumption()
Subroutine to compute an approximation of total RAM used by global variables of EFISPEC3D. See module mod_global_variables.
integer function init_array_rank2_real(t, n1, n2, tname)
This subroutine allocates real-value array of rank 2.
integer function init_array_rank1_int(t, n1, tname)
This subroutine allocates integer-value array of rank 1.
integer function init_array_rank2_real_dp(t, n1, n2, tname)
This subroutine allocates real-double-precision-value array of rank 2.
integer function init_array_rank4_real(t, n1, n2, n3, n4, tname)
This subroutine allocates real-value array of order 4.
integer function init_array_rank3_real(t, n1, n2, n3, tname)
This subroutine allocates real-value array of rank 3.
Interface init_array_real_dp to redirect allocation to n-rank arrays.
integer function init_array_rank2_int(t, n1, n2, tname)
This subroutine allocates integer-value array of rank 2.
Interface init_array_int to redirect allocation to n-rank arrays.