Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion core/specfem/element.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

#include "element/attributes.hpp"
#include "element/boundary.hpp"
#include "element/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "element/tags.hpp"
#include "element/to_string.hpp"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot The include outside of the specfem/element/ directory should look like this

Suggested change
#include "specfem/element/dimension.hpp"
#include "specfem/element.hpp"

since element.hpp includes dimension. It serves as interface to the tags etc.

please update the rest of the code

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in commit ba98b07. Updated all files to use #include "specfem/element.hpp" instead of #include "specfem/element/dimension.hpp" as the interface.

#include "enumerations/medium.hpp"
#include "specfem/point.hpp"
#include "specfem/setup.hpp"
Expand Down
2 changes: 1 addition & 1 deletion core/specfem/medium/dim2/elastic/isotropic/mass_matrix.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "enumerations/medium.hpp"
#include "specfem/point.hpp"
#include "specfem/setup.hpp"
Expand Down
2 changes: 1 addition & 1 deletion core/specfem/medium/dim3/elastic/isotropic/mass_matrix.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "enumerations/medium.hpp"
#include "specfem/point.hpp"
#include "specfem/setup.hpp"
Expand Down
54 changes: 27 additions & 27 deletions core/specfem/parallel_configuration/chunk_config.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "specfem/constants.hpp"
#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "specfem/datatype.hpp"
#include <Kokkos_Core.hpp>

Expand Down Expand Up @@ -61,7 +61,7 @@ constexpr int chunk_size = impl::serial_chunk_size;
* @see specfem::execution
* @see specfem::parallel_configuration::default_chunk_config
*/
template <specfem::dimension::type DimensionTag, int ChunkSize, int TileSize,
template <specfem::element::dimension_tag DimensionTag, int ChunkSize, int TileSize,
int NumThreads, int VectorLanes, typename SIMD,
typename ExecutionSpace>
struct chunk_config {
Expand Down Expand Up @@ -89,83 +89,83 @@ struct chunk_config {
* // Automatically uses: chunk_size=32, num_threads=512 for CUDA
* @endcode
*/
template <specfem::dimension::type DimensionTag, typename SIMD,
template <specfem::element::dimension_tag DimensionTag, typename SIMD,
typename ExecutionSpace>
struct default_chunk_config;

#if defined(KOKKOS_ENABLE_CUDA)
template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim2, SIMD, Kokkos::Cuda>
: chunk_config<specfem::dimension::type::dim2, impl::cuda_chunk_size,
struct default_chunk_config<specfem::element::dimension_tag::dim2, SIMD, Kokkos::Cuda>
: chunk_config<specfem::element::dimension_tag::dim2, impl::cuda_chunk_size,
impl::cuda_chunk_size, 512, 1, SIMD, Kokkos::Cuda> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim3, SIMD, Kokkos::Cuda>
: chunk_config<specfem::dimension::type::dim3, impl::cuda_chunk_size_3d,
struct default_chunk_config<specfem::element::dimension_tag::dim3, SIMD, Kokkos::Cuda>
: chunk_config<specfem::element::dimension_tag::dim3, impl::cuda_chunk_size_3d,
impl::cuda_chunk_size_3d, 512, 1, SIMD, Kokkos::Cuda> {};
#endif

#if defined(KOKKOS_ENABLE_HIP)
template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim2, SIMD, Kokkos::HIP>
: chunk_config<specfem::dimension::type::dim2, impl::cuda_chunk_size,
struct default_chunk_config<specfem::element::dimension_tag::dim2, SIMD, Kokkos::HIP>
: chunk_config<specfem::element::dimension_tag::dim2, impl::cuda_chunk_size,
impl::hip_chunk_size, 512, 1, SIMD, Kokkos::HIP> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim3, SIMD, Kokkos::HIP>
: chunk_config<specfem::dimension::type::dim3, impl::hip_chunk_size,
struct default_chunk_config<specfem::element::dimension_tag::dim3, SIMD, Kokkos::HIP>
: chunk_config<specfem::element::dimension_tag::dim3, impl::hip_chunk_size,
impl::hip_chunk_size, 512, 1, SIMD, Kokkos::HIP> {};
#endif

#if defined(KOKKOS_ENABLE_OPENMP)
template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim2, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim2, SIMD,
Kokkos::OpenMP>
: chunk_config<specfem::dimension::type::dim2, impl::openmp_chunk_size,
: chunk_config<specfem::element::dimension_tag::dim2, impl::openmp_chunk_size,
impl::openmp_chunk_size, 1, 1, SIMD, Kokkos::OpenMP> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim3, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim3, SIMD,
Kokkos::OpenMP>
: chunk_config<specfem::dimension::type::dim3, impl::openmp_chunk_size,
: chunk_config<specfem::element::dimension_tag::dim3, impl::openmp_chunk_size,
impl::openmp_chunk_size, 1, 1, SIMD, Kokkos::OpenMP> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim2, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim2, SIMD,
Kokkos::HostSpace>
: default_chunk_config<specfem::dimension::type::dim2, SIMD,
: default_chunk_config<specfem::element::dimension_tag::dim2, SIMD,
Kokkos::OpenMP> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim3, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim3, SIMD,
Kokkos::HostSpace>
: default_chunk_config<specfem::dimension::type::dim3, SIMD,
: default_chunk_config<specfem::element::dimension_tag::dim3, SIMD,
Kokkos::OpenMP> {};
#endif

#if defined(KOKKOS_ENABLE_SERIAL)
template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim2, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim2, SIMD,
Kokkos::Serial>
: chunk_config<specfem::dimension::type::dim2, impl::serial_chunk_size,
: chunk_config<specfem::element::dimension_tag::dim2, impl::serial_chunk_size,
impl::serial_chunk_size, 1, 1, SIMD, Kokkos::Serial> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim3, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim3, SIMD,
Kokkos::Serial>
: chunk_config<specfem::dimension::type::dim3, impl::serial_chunk_size,
: chunk_config<specfem::element::dimension_tag::dim3, impl::serial_chunk_size,
impl::serial_chunk_size, 1, 1, SIMD, Kokkos::Serial> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim2, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim2, SIMD,
Kokkos::HostSpace>
: default_chunk_config<specfem::dimension::type::dim2, SIMD,
: default_chunk_config<specfem::element::dimension_tag::dim2, SIMD,
Kokkos::Serial> {};

template <typename SIMD>
struct default_chunk_config<specfem::dimension::type::dim3, SIMD,
struct default_chunk_config<specfem::element::dimension_tag::dim3, SIMD,
Kokkos::HostSpace>
: default_chunk_config<specfem::dimension::type::dim3, SIMD,
: default_chunk_config<specfem::element::dimension_tag::dim3, SIMD,
Kokkos::Serial> {};
#endif
} // namespace parallel_configuration
Expand Down
16 changes: 8 additions & 8 deletions core/specfem/parallel_configuration/chunk_edge_config.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include "specfem/constants.hpp"
#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include <Kokkos_Core.hpp>

namespace specfem::parallel_configuration {
Expand All @@ -21,7 +21,7 @@ namespace specfem::parallel_configuration {
* @see specfem::execution
* @see specfem::parallel_configuration::default_chunk_edge_config
*/
template <specfem::dimension::type DimensionTag, int ChunkSize,
template <specfem::element::dimension_tag DimensionTag, int ChunkSize,
typename ExecutionSpace>
struct edge_chunk_config {
constexpr static auto dimension = DimensionTag; ///< Dimension type
Expand All @@ -47,33 +47,33 @@ struct edge_chunk_config {
*
* @see specfem::execution
*/
template <specfem::dimension::type DimensionTag, typename ExecutionSpace>
template <specfem::element::dimension_tag DimensionTag, typename ExecutionSpace>
struct default_chunk_edge_config;

#if defined(KOKKOS_ENABLE_CUDA)
template <specfem::dimension::type DimensionTag>
template <specfem::element::dimension_tag DimensionTag>
struct default_chunk_edge_config<DimensionTag, Kokkos::Cuda>
: edge_chunk_config<DimensionTag, 32, Kokkos::Cuda> {};
#endif

#if defined(KOKKOS_ENABLE_HIP)
template <specfem::dimension::type DimensionTag>
template <specfem::element::dimension_tag DimensionTag>
struct default_chunk_edge_config<DimensionTag, Kokkos::HIP>
: edge_chunk_config<DimensionTag, 64, Kokkos::HIP> {};
#endif

#if defined(KOKKOS_ENABLE_OPENMP)
template <specfem::dimension::type DimensionTag>
template <specfem::element::dimension_tag DimensionTag>
struct default_chunk_edge_config<DimensionTag, Kokkos::OpenMP>
: edge_chunk_config<DimensionTag, 1, Kokkos::OpenMP> {};
#endif

#if defined(KOKKOS_ENABLE_SERIAL)
template <specfem::dimension::type DimensionTag>
template <specfem::element::dimension_tag DimensionTag>
struct default_chunk_edge_config<DimensionTag, Kokkos::Serial>
: edge_chunk_config<DimensionTag, 1, Kokkos::Serial> {};

template <specfem::dimension::type DimensionTag>
template <specfem::element::dimension_tag DimensionTag>
struct default_chunk_edge_config<DimensionTag, Kokkos::HostSpace>
: default_chunk_edge_config<DimensionTag, Kokkos::Serial> {};
#endif
Expand Down
2 changes: 1 addition & 1 deletion core/specfem/point/global_coordinates.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "specfem/setup.hpp"
#include <Kokkos_Core.hpp>
#include <cstddef>
Expand Down
2 changes: 1 addition & 1 deletion core/specfem/point/index.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "specfem/data_access.hpp"
#include "specfem/setup.hpp"

Expand Down
2 changes: 1 addition & 1 deletion core/specfem/point/local_coordinates.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "specfem/setup.hpp"
#include <Kokkos_Core.hpp>
#include <cstddef>
Expand Down
6 changes: 3 additions & 3 deletions src/enumerations/dim3/connections.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "enumerations/connections.hpp"
#include "enumerations/dimension.hpp"
#include "specfem/element/dimension.hpp"
#include "enumerations/mesh_entities.hpp"
#include "specfem/setup.hpp"
#include <array>
Expand Down Expand Up @@ -178,7 +178,7 @@ extern int edge_transform(const std::array<int, 2> &from_nodes,
const int ngll);

std::tuple<int, int, int>
specfem::connections::connection_mapping<specfem::dimension::type::dim3>::
specfem::connections::connection_mapping<specfem::element::dimension_tag::dim3>::
map_coordinates(const specfem::mesh_entity::dim3::type &from,
const specfem::mesh_entity::dim3::type &to, const int iz,
const int iy, const int ix) const {
Expand Down Expand Up @@ -325,7 +325,7 @@ specfem::connections::connection_mapping<specfem::dimension::type::dim3>::
}

std::tuple<int, int, int>
specfem::connections::connection_mapping<specfem::dimension::type::dim3>::
specfem::connections::connection_mapping<specfem::element::dimension_tag::dim3>::
map_coordinates(const specfem::mesh_entity::dim3::type &from,
const specfem::mesh_entity::dim3::type &to) const {

Expand Down