[cig-commits] [commit] devel, master: add OpenCL support to Specfem3D-globe (25bd1b9)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Nov 6 08:13:56 PST 2014


Repository : https://github.com/geodynamics/specfem3d_globe

On branches: devel,master
Link       : https://github.com/geodynamics/specfem3d_globe/compare/bc58e579b3b0838a0968725a076f5904845437ca...be63f20cbb6f462104e949894dbe205d2398cd7f

>---------------------------------------------------------------

commit 25bd1b924f4394cf7152438784f321e44c708af6
Author: Kevin Pouget <kevin.pouget at st.com>
Date:   Mon May 5 15:26:53 2014 +0200

    add OpenCL support to Specfem3D-globe


>---------------------------------------------------------------

25bd1b924f4394cf7152438784f321e44c708af6
 Makefile.in                                        |   33 +-
 configure                                          | 1082 +++--
 configure.ac                                       |   17 +-
 m4                                                 |    2 +-
 src/cuda/Makefile                                  |   56 -
 src/cuda/assemble_MPI_scalar_cuda.cu               |  267 --
 src/cuda/assemble_MPI_vector_cuda.cu               |  597 ---
 src/cuda/check_fields_cuda.cu                      | 1342 ------
 src/cuda/compute_add_sources_elastic_cuda.cu       |  404 --
 src/cuda/compute_coupling_cuda.cu                  |  655 ---
 src/cuda/compute_forces_inner_core_cuda.cu         | 1345 ------
 src/cuda/compute_forces_outer_core_cuda.cu         |  707 ----
 src/cuda/compute_kernels_cuda.cu                   | 1058 -----
 src/cuda/compute_stacey_acoustic_cuda.cu           |  603 ---
 src/cuda/compute_stacey_elastic_cuda.cu            |  602 ---
 src/cuda/initialize_cuda.cu                        |  280 --
 src/cuda/mesh_constants_cuda.h                     |  791 ----
 src/cuda/noise_tomography_cuda.cu                  |  351 --
 src/cuda/prepare_constants_cuda.h                  |  309 --
 src/cuda/prepare_mesh_constants_cuda.cu            | 2591 ------------
 src/cuda/rules.mk                                  |   83 -
 src/cuda/save_and_compare_cpu_vs_gpu.c             |  347 --
 src/cuda/transfer_fields_cuda.cu                   |  919 ----
 src/cuda/update_displacement_cuda.cu               |  647 ---
 src/cuda/write_seismograms_cuda.cu                 |  386 --
 src/gpu/assemble_MPI_scalar_gpu.c                  |  341 ++
 src/gpu/assemble_MPI_vector_gpu.c                  |  872 ++++
 src/gpu/boast/HEADER.rb                            |   47 +
 src/gpu/boast/INDEX2.rb                            |    3 +
 src/gpu/boast/INDEX3.rb                            |    3 +
 src/gpu/boast/INDEX4.rb                            |    4 +
 src/gpu/boast/INDEX5.rb                            |    3 +
 src/gpu/boast/assemble_boundary_accel_on_device.rb |   68 +
 .../boast/assemble_boundary_potential_on_device.rb |    7 +
 src/gpu/boast/atomicAdd_f.rb                       |   21 +
 src/gpu/boast/compute_acoustic_kernel.rb           |  151 +
 .../boast/compute_add_sources_adjoint_kernel.rb    |   57 +
 src/gpu/boast/compute_add_sources_kernel.rb        |   60 +
 src/gpu/boast/compute_ani_kernel.rb                |   74 +
 src/gpu/boast/compute_ani_undo_att_kernel.rb       |  138 +
 src/gpu/boast/compute_coupling_CMB_fluid_kernel.rb |    6 +
 src/gpu/boast/compute_coupling_ICB_fluid_kernel.rb |    6 +
 src/gpu/boast/compute_coupling_fluid_CMB_kernel.rb |  149 +
 src/gpu/boast/compute_coupling_fluid_ICB_kernel.rb |    6 +
 src/gpu/boast/compute_coupling_ocean_kernel.rb     |   56 +
 src/gpu/boast/compute_element_att_memory_helper.rb |   87 +
 src/gpu/boast/compute_element_att_stress_helper.rb |   47 +
 src/gpu/boast/compute_element_gravity_helper.rb    |  120 +
 .../compute_element_strain_undo_att_helper.rb      |   94 +
 src/gpu/boast/compute_hess_kernel.rb               |   42 +
 src/gpu/boast/compute_iso_kernel.rb                |   56 +
 src/gpu/boast/compute_iso_undo_att_kernel.rb       |    9 +
 src/gpu/boast/compute_rho_kernel.rb                |   42 +
 .../compute_stacey_acoustic_backward_kernel.rb     |    9 +
 src/gpu/boast/compute_stacey_acoustic_kernel.rb    |  137 +
 .../compute_stacey_elastic_backward_kernel.rb      |    9 +
 src/gpu/boast/compute_stacey_elastic_kernel.rb     |  156 +
 src/gpu/boast/compute_strain_product_helper.rb     |   49 +
 src/gpu/boast/compute_strength_noise_kernel.rb     |   67 +
 src/gpu/boast/crust_mantle_impl_kernel_adjoint.rb  |    6 +
 src/gpu/boast/crust_mantle_impl_kernel_forward.rb  |    7 +
 src/gpu/boast/get_maximum_scalar_kernel.rb         |   69 +
 src/gpu/boast/get_maximum_vector_kernel.rb         |    5 +
 src/gpu/boast/inner_core_impl_kernel_adjoint.rb    |    6 +
 src/gpu/boast/inner_core_impl_kernel_forward.rb    | 1040 +++++
 src/gpu/boast/kernels.rb                           |  156 +
 .../boast/noise_add_source_master_rec_kernel.rb    |   45 +
 src/gpu/boast/noise_add_surface_movie_kernel.rb    |   80 +
 .../boast/noise_transfer_surface_to_host_kernel.rb |   54 +
 src/gpu/boast/outer_core_impl_kernel_adjoint.rb    |    9 +
 src/gpu/boast/outer_core_impl_kernel_forward.rb    |  355 ++
 src/gpu/boast/prepare_boundary_accel_on_device.rb  |   64 +
 .../boast/prepare_boundary_potential_on_device.rb  |    7 +
 .../assemble_boundary_accel_on_device.cu           |   25 +
 .../assemble_boundary_potential_on_device.cu       |   23 +
 .../boast/references/compute_acoustic_kernel.cu    |  154 +
 .../compute_add_sources_adjoint_kernel.cu          |   37 +
 .../boast/references/compute_add_sources_kernel.cu |   41 +
 src/gpu/boast/references/compute_ani_kernel.cu     |  105 +
 .../references/compute_ani_undo_att_kernel.cu      |  240 ++
 .../compute_coupling_CMB_fluid_kernel.cu           |   75 +
 .../compute_coupling_ICB_fluid_kernel.cu           |   77 +
 .../compute_coupling_fluid_CMB_kernel.cu           |   71 +
 .../compute_coupling_fluid_ICB_kernel.cu           |   72 +
 .../references/compute_coupling_ocean_kernel.cu    |   53 +
 src/gpu/boast/references/compute_hess_kernel.cu    |   27 +
 src/gpu/boast/references/compute_iso_kernel.cu     |   43 +
 .../references/compute_iso_undo_att_kernel.cu      |   69 +
 src/gpu/boast/references/compute_rho_kernel.cu     |   26 +
 .../compute_stacey_acoustic_backward_kernel.cu     |  105 +
 .../references/compute_stacey_acoustic_kernel.cu   |  135 +
 .../compute_stacey_elastic_backward_kernel.cu      |   99 +
 .../references/compute_stacey_elastic_kernel.cu    |  144 +
 .../references/compute_strength_noise_kernel.cu    |   43 +
 .../boast/references/crust_mantle_impl_kernel.cu}  |    0
 .../boast/references/get_maximum_scalar_kernel.cu  |   49 +
 .../boast/references/get_maximum_vector_kernel.cu  |   38 +
 src/gpu/boast/references/inner_core_impl_kernel.cu |  620 +++
 .../noise_add_source_master_rec_kernel.cu          |   19 +
 .../references/noise_add_surface_movie_kernel.cu   |   61 +
 .../noise_transfer_surface_to_host_kernel.cu       |   33 +
 src/gpu/boast/references/outer_core_impl_kernel.cu |  419 ++
 .../references/prepare_boundary_accel_on_device.cu |   27 +
 .../prepare_boundary_potential_on_device.cu        |   25 +
 .../references/update_accel_acoustic_kernel.cu     |   16 +
 .../references/update_accel_elastic_kernel.cu      |   22 +
 .../boast/references/update_disp_veloc_kernel.cu   |   21 +
 .../boast/references/update_potential_kernel.cu    |   25 +
 .../references/update_veloc_acoustic_kernel.cu     |   17 +
 .../references/update_veloc_elastic_kernel.cu      |   18 +
 ...rite_seismograms_transfer_from_device_kernel.cu |   29 +
 ...ismograms_transfer_strain_from_device_kernel.cu |   27 +
 src/gpu/boast/update_accel_acoustic_kernel.rb      |    9 +
 src/gpu/boast/update_accel_elastic_kernel.rb       |    9 +
 src/gpu/boast/update_disp_veloc_kernel.rb          |   87 +
 src/gpu/boast/update_potential_kernel.rb           |    9 +
 src/gpu/boast/update_veloc_acoustic_kernel.rb      |    9 +
 src/gpu/boast/update_veloc_elastic_kernel.rb       |    9 +
 ...rite_seismograms_transfer_from_device_kernel.rb |   66 +
 ...ismograms_transfer_strain_from_device_kernel.rb |    9 +
 src/gpu/check_fields_gpu.c                         | 1030 +++++
 src/gpu/compute_add_sources_elastic_gpu.c          |  460 ++
 src/gpu/compute_coupling_gpu.c                     |  527 +++
 src/gpu/compute_forces_crust_mantle_gpu.c          |  767 ++++
 src/gpu/compute_forces_inner_core_gpu.c            |  688 +++
 src/gpu/compute_forces_outer_core_gpu.c            |  426 ++
 src/gpu/compute_kernels_gpu.c                      |  643 +++
 src/gpu/compute_stacey_acoustic_gpu.c              |  488 +++
 src/gpu/compute_stacey_elastic_gpu.c               |  478 +++
 src/gpu/gpu_buffer_list.c                          |  283 ++
 src/gpu/initialize_gpu.c                           |  605 +++
 .../assemble_boundary_accel_on_device.cu           |   67 +
 .../assemble_boundary_accel_on_device_cl.c         |   79 +
 .../assemble_boundary_potential_on_device.cu       |   65 +
 .../assemble_boundary_potential_on_device_cl.c     |   77 +
 src/gpu/kernels.gen/compute_acoustic_kernel.cu     |  139 +
 src/gpu/kernels.gen/compute_acoustic_kernel_cl.c   |  151 +
 .../compute_add_sources_adjoint_kernel.cu          |   72 +
 .../compute_add_sources_adjoint_kernel_cl.c        |   84 +
 src/gpu/kernels.gen/compute_add_sources_kernel.cu  |   74 +
 .../kernels.gen/compute_add_sources_kernel_cl.c    |   88 +
 src/gpu/kernels.gen/compute_ani_kernel.cu          |  112 +
 src/gpu/kernels.gen/compute_ani_kernel_cl.c        |  124 +
 src/gpu/kernels.gen/compute_ani_undo_att_kernel.cu |  216 +
 .../kernels.gen/compute_ani_undo_att_kernel_cl.c   |  228 +
 .../compute_coupling_CMB_fluid_kernel.cu           |   90 +
 .../compute_coupling_CMB_fluid_kernel_cl.c         |  102 +
 .../compute_coupling_ICB_fluid_kernel.cu           |   90 +
 .../compute_coupling_ICB_fluid_kernel_cl.c         |  102 +
 .../compute_coupling_fluid_CMB_kernel.cu           |   90 +
 .../compute_coupling_fluid_CMB_kernel_cl.c         |  102 +
 .../compute_coupling_fluid_ICB_kernel.cu           |   90 +
 .../compute_coupling_fluid_ICB_kernel_cl.c         |  102 +
 .../kernels.gen/compute_coupling_ocean_kernel.cu   |   78 +
 .../kernels.gen/compute_coupling_ocean_kernel_cl.c |   90 +
 src/gpu/kernels.gen/compute_hess_kernel.cu         |   62 +
 src/gpu/kernels.gen/compute_hess_kernel_cl.c       |   74 +
 src/gpu/kernels.gen/compute_iso_kernel.cu          |   61 +
 src/gpu/kernels.gen/compute_iso_kernel_cl.c        |   73 +
 src/gpu/kernels.gen/compute_iso_undo_att_kernel.cu |  181 +
 .../kernels.gen/compute_iso_undo_att_kernel_cl.c   |  193 +
 src/gpu/kernels.gen/compute_rho_kernel.cu          |   62 +
 src/gpu/kernels.gen/compute_rho_kernel_cl.c        |   74 +
 .../compute_stacey_acoustic_backward_kernel.cu     |  136 +
 .../compute_stacey_acoustic_backward_kernel_cl.c   |  148 +
 .../kernels.gen/compute_stacey_acoustic_kernel.cu  |  149 +
 .../compute_stacey_acoustic_kernel_cl.c            |  161 +
 .../compute_stacey_elastic_backward_kernel.cu      |  127 +
 .../compute_stacey_elastic_backward_kernel_cl.c    |  139 +
 .../kernels.gen/compute_stacey_elastic_kernel.cu   |  163 +
 .../kernels.gen/compute_stacey_elastic_kernel_cl.c |  175 +
 .../kernels.gen/compute_strength_noise_kernel.cu   |   74 +
 .../kernels.gen/compute_strength_noise_kernel_cl.c |   86 +
 .../crust_mantle_impl_kernel_adjoint.cu            |  840 ++++
 .../crust_mantle_impl_kernel_adjoint_cl.c          |  859 ++++
 .../crust_mantle_impl_kernel_forward.cu            |  840 ++++
 .../crust_mantle_impl_kernel_forward_cl.c          |  859 ++++
 src/gpu/kernels.gen/get_maximum_scalar_kernel.cu   |   76 +
 src/gpu/kernels.gen/get_maximum_scalar_kernel_cl.c |   88 +
 src/gpu/kernels.gen/get_maximum_vector_kernel.cu   |   76 +
 src/gpu/kernels.gen/get_maximum_vector_kernel_cl.c |   88 +
 .../kernels.gen/inner_core_impl_kernel_adjoint.cu  |  671 +++
 .../inner_core_impl_kernel_adjoint_cl.c            |  690 +++
 .../kernels.gen/inner_core_impl_kernel_forward.cu  |  671 +++
 .../inner_core_impl_kernel_forward_cl.c            |  690 +++
 src/gpu/kernels.gen/kernel_cuda.mk                 |   44 +
 src/gpu/kernels.gen/kernel_inc.cu                  |   41 +
 src/gpu/kernels.gen/kernel_inc_cl.c                |   42 +
 src/gpu/kernels.gen/kernel_list.h                  |   42 +
 src/gpu/kernels.gen/kernel_proto.cu.h              |   42 +
 .../noise_add_source_master_rec_kernel.cu          |   62 +
 .../noise_add_source_master_rec_kernel_cl.c        |   74 +
 .../kernels.gen/noise_add_surface_movie_kernel.cu  |   87 +
 .../noise_add_surface_movie_kernel_cl.c            |   99 +
 .../noise_transfer_surface_to_host_kernel.cu       |   72 +
 .../noise_transfer_surface_to_host_kernel_cl.c     |   84 +
 .../kernels.gen/outer_core_impl_kernel_adjoint.cu  |  282 ++
 .../outer_core_impl_kernel_adjoint_cl.c            |  302 ++
 .../kernels.gen/outer_core_impl_kernel_forward.cu  |  282 ++
 .../outer_core_impl_kernel_forward_cl.c            |  302 ++
 .../prepare_boundary_accel_on_device.cu            |   67 +
 .../prepare_boundary_accel_on_device_cl.c          |   79 +
 .../prepare_boundary_potential_on_device.cu        |   65 +
 .../prepare_boundary_potential_on_device_cl.c      |   77 +
 .../kernels.gen/update_accel_acoustic_kernel.cu    |   58 +
 .../kernels.gen/update_accel_acoustic_kernel_cl.c  |   70 +
 src/gpu/kernels.gen/update_accel_elastic_kernel.cu |   60 +
 .../kernels.gen/update_accel_elastic_kernel_cl.c   |   72 +
 src/gpu/kernels.gen/update_disp_veloc_kernel.cu    |   60 +
 src/gpu/kernels.gen/update_disp_veloc_kernel_cl.c  |   72 +
 src/gpu/kernels.gen/update_potential_kernel.cu     |   60 +
 src/gpu/kernels.gen/update_potential_kernel_cl.c   |   72 +
 .../kernels.gen/update_veloc_acoustic_kernel.cu    |   58 +
 .../kernels.gen/update_veloc_acoustic_kernel_cl.c  |   70 +
 src/gpu/kernels.gen/update_veloc_elastic_kernel.cu |   60 +
 .../kernels.gen/update_veloc_elastic_kernel_cl.c   |   72 +
 ...rite_seismograms_transfer_from_device_kernel.cu |   68 +
 ...te_seismograms_transfer_from_device_kernel_cl.c |   80 +
 ...ismograms_transfer_strain_from_device_kernel.cu |   66 +
 ...mograms_transfer_strain_from_device_kernel_cl.c |   78 +
 src/gpu/mesh_constants_cuda.h                      |   59 +
 src/gpu/mesh_constants_gpu.h                       |  988 +++++
 src/gpu/mesh_constants_ocl.h                       |   95 +
 src/gpu/noise_tomography_gpu.c                     |  283 ++
 src/gpu/prepare_mesh_constants_gpu.c               | 4440 ++++++++++++++++++++
 src/gpu/rules.mk                                   |  150 +
 src/gpu/save_and_compare_cpu_vs_gpu.c              |  338 ++
 src/gpu/transfer_fields_gpu.c                      | 1610 +++++++
 src/gpu/update_displacement_gpu.c                  |  807 ++++
 src/gpu/write_seismograms_gpu.c                    |  409 ++
 src/shared/broadcast_computed_parameters.f90       |   10 +-
 src/shared/read_parameter_file.f90                 |    8 +
 src/shared/shared_par.f90                          |    3 +
 src/specfem3D/compute_stacey_crust_mantle.f90      |   24 +-
 src/specfem3D/noise_tomography.f90                 |    6 +-
 src/specfem3D/rules.mk                             |   87 +-
 .../specfem3D_gpu_method_stubs.c}                  |  227 +-
 src/specfem3D/update_displacement_Newmark.f90      |   20 +-
 238 files changed, 38987 insertions(+), 15001 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 25bd1b924f4394cf7152438784f321e44c708af6


More information about the CIG-COMMITS mailing list