Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
8 changes: 4 additions & 4 deletions .github/workflows/dependencies/dpcpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ df -h
# https://github.com/BLAST-WarpX/warpx/pull/1566#issuecomment-790934878

# try apt install up to five times, to avoid connection splits
# FIXME install latest version of IntelLLVM, Intel MKL
# after conflicts with openPMD are resolved
Copy link
Member Author

Choose a reason for hiding this comment

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

@ax3l I updated the code that uses MKL FFT in this PR. What were the conflicts with openPMD?

Copy link
Member Author

Choose a reason for hiding this comment

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

Okay it was added in #5419. Since there is no error now, it is safe to remove it.

Copy link
Member Author

Choose a reason for hiding this comment

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

We can also try to remove -O1 -NDEBUG, which was added in #3478 to an address oneAPI 2022.2.0 issue.

status=1
for itry in {1..5}
do
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
intel-oneapi-compiler-dpcpp-cpp=2024.2.1-1079 \
intel-oneapi-mkl-devel=2024.2.1-103 \
intel-oneapi-compiler-dpcpp-cpp \
intel-oneapi-mkl-devel \
intel-ocloc \
libigc-dev \
g++ gfortran \
libopenmpi-dev \
openmpi-bin \
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,13 @@ jobs:
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export PATH=$PATH:/opt/intel/oneapi/compiler/2024.2/bin # FIXME
export CXX=$(which icpx)
export CC=$(which icx)

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools[core] wheel

cmake -S . -B build_sp \
-DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_EB=OFF \
-DWarpX_PYTHON=ON \
Expand Down Expand Up @@ -119,16 +117,17 @@ jobs:
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export PATH=$PATH:/opt/intel/oneapi/compiler/2024.2/bin # FIXME
export CXX=$(which icpx)
export CC=$(which icx)
export CXXFLAGS="-fsycl ${CXXFLAGS}"

cmake -S . -B build_sp \
-DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_COMPUTE=SYCL \
-DAMReX_SYCL_AOT=ON \
-DAMReX_INTEL_ARCH=pvc \
-DAMReX_PARALLEL_LINK_JOBS=4 \
-DWarpX_EB=ON \
-DWarpX_FFT=ON \
-DWarpX_PYTHON=ON \
Expand Down
6 changes: 4 additions & 2 deletions Source/FieldSolver/ImplicitSolvers/ImplicitSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,8 @@ void ImplicitSolver::ComputeJfromMassMatrices ()
}

Jx(i,j,k,n) = Jx0(i,j,k,n) + SxxdEx + SxydEy + SxzdEz;
},
});
amrex::ParallelFor(
Jby, ncomps, [=] AMREX_GPU_DEVICE (int i, int j, int k, int n)
{
const int idx[3] = {i, j, k};
Expand Down Expand Up @@ -342,7 +343,8 @@ void ImplicitSolver::ComputeJfromMassMatrices ()
}

Jy(i,j,k,n) = Jy0(i,j,k,n) + SyxdEx + SyydEy + SyzdEz;
},
});
amrex::ParallelFor(
Jbz, ncomps, [=] AMREX_GPU_DEVICE (int i, int j, int k, int n)
{
const int idx[3] = {i, j, k};
Expand Down
2 changes: 1 addition & 1 deletion Source/ablastr/math/fft/AnyFFT.H
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# endif
# include <hip/hip_complex.h>
# elif defined(AMREX_USE_SYCL)
# include <oneapi/mkl/dfti.hpp>
# include <oneapi/mkl/dft.hpp>
# else
# include <fftw3.h>
# endif
Expand Down
5 changes: 3 additions & 2 deletions Source/ablastr/math/fft/WrapMklFFT.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "ablastr/utils/TextMsg.H"
#include "ablastr/profiler/ProfilerWrapper.H"

#include <complex>
#include <cstdint>

namespace ablastr::math::anyfft
Expand Down Expand Up @@ -53,9 +54,9 @@ namespace ablastr::math::anyfft
}

fft_plan.m_plan->set_value(oneapi::mkl::dft::config_param::PLACEMENT,
DFTI_NOT_INPLACE);
oneapi::mkl::dft::config_value::NOT_INPLACE);
fft_plan.m_plan->set_value(oneapi::mkl::dft::config_param::FWD_STRIDES,
strides.data());
strides);
fft_plan.m_plan->commit(amrex::Gpu::Device::streamQueue());

// Store meta-data in fft_plan
Expand Down
Loading