[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