-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LWFA on cpu shows different (wrong) physics #2688
Comments
as recommended by @psychocoderHPC offline I checked how PIConGPU performs on CPUs ( The results looks great! We have "correct" physics! ✨ 🎉 600 iterations of Probably the laser refactoring #2587 (or #2624) caused this bug. |
@psychocoderHPC as you expected, calling the laser functor is causing the error. With the fix: diff --git a/include/picongpu/fields/LaserPhysics.hpp b/include/picongpu/fields/LaserPhysics.hpp
index 66f8c84..09bab6f 100644
--- a/include/picongpu/fields/LaserPhysics.hpp
+++ b/include/picongpu/fields/LaserPhysics.hpp
@@ -79,12 +79,6 @@ namespace fields
uint32_t cellOffsetInSuperCellFromInitPlaneY = LaserFunctor::Unitless::initPlaneY % SuperCellSize::y::value;
- auto accLaserFunctor = laserFunctor(
- acc,
- localSuperCellOffset,
- mappings::threads::WorkerCfg< numWorkers >{ workerIdx }
- );
-
mappings::threads::ForEachIdx<
mappings::threads::IdxConfig<
planeSize,
@@ -96,6 +90,12 @@ namespace fields
uint32_t const
)
{
+ auto accLaserFunctor = laserFunctor(
+ acc,
+ localSuperCellOffset,
+ mappings::threads::WorkerCfg< numWorkers >{ workerIdx }
+ );
+
/* cell index within the superCell */
DataSpace< simDim > cellIdxInSuperCell = DataSpaceOperations< simDim >::template map< LaserPlaneSizeInSuperCell >( linearIdx );
cellIdxInSuperCell.y() += cellOffsetInSuperCellFromInitPlaneY; the issue is solved: png picture after 600 iterations with above fix on |
thx for the fix in #2689! will add it to |
When running the default LWFA example with
32.cfg
there is a major difference between using gpus or cpus.In the following you will see png pictures of the simulation after 600 iterations/time steps.
The current
master
brach:The current
dev
branch onk80
GPUs:The current
dev
branch onlaser
CPUs:The last is definitely wrong, an
a_0=8.0
would cause a blow out, not these streams.The text was updated successfully, but these errors were encountered: