the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
LCS.jl v1.0: A High-Performance, Multi-Platform Computational Model in Julia for Turbulent Particle-Laden Flows
Abstract. Multiphase turbulent flow phenomena are observed not only in industrial devices but also in environmental flows, and direct numerical simulation (DNS) plays a key role in their investigation. Many numerical models have been developed; nevertheless, few models are highly optimized for GPU platforms, which represent the current mainstream in high-performance computing (HPC). In this study, we developed LCS.jl (Lagrangian Cloud Simulator in Julia), a single-source and multi-platform multiphase turbulence simulation model implemented in Julia language and KernelAbstractions.jl. Validation results confirmed that the present fluid and particle statistics agree well with those obtained in prior studies. A GPU-native particle communication algorithm based on prefix-scan reduced the particle communication cost from approximately 78 % (CPU-delegated) to 10 % of total execution time. LCS.jl achieved computational performance equivalent to the Fortran implementation in many-processes computations. For GPUs, strong scaling efficiency was maintained above 85 % (up to 256 GPUs) and weak scaling efficiency above 90 % (up to 216 GPUs) on TSUBAME4.0 (a GPU supercomputer at the Institute of Science Tokyo). LCS.jl achieved a maximum speedup of 18.0× on GPUs over CPUs. A trial heterogeneous execution achieved a 72 % reduction in execution time compared to the CPU-only configuration even in configurations where the GPU was not the primary compute device. These results demonstrate that LCS.jl is a multiphase turbulence simulation platform that achieves both portability and scalability across a variety of computational resource configurations.
- Preprint
(716 KB) - Metadata XML
- BibTeX
- EndNote
Status: final response (author comments only)
-
RC1: 'Comment on egusphere-2026-2214', Anonymous Referee #1, 05 Jun 2026
The authors present a Julia code for the same kind of coupled fluid-particle simulations as an earlier Fortran code developed by their group. The contribution can be interesting for the community, but I would like to see some improvements before publication.
- Please check the manuscript for typos and language issues. For example, in the abstract, "model implemented in Julia language" should be "model implemented in the Julia language".
- Please use well-known names of equations, e.g., incompressible Navier-Stokes equations when introducing (1)-(2).
- Is the density $\rho$ assumed to be constant in (2)?
- Line 78: There are many two-stage, second-order Runge–Kutta methods. Please specify which one is used in the manuscript.
- Page 3: Please provide a (brief) discussion of why you chose the numerical discretizations as you did.
- Please provide concrete references for the parameter values you chose, e.g., the kinematic viscosity $\nu$ in line 70 and the particle response time $\tau_p$ etc. in lines 95ff.
- Sections 3.2.2 and 3.2.3: Julia code is compiled just ahead of execution. Do the performance comparisons include compilation time? What is the overhead of compilation (likely parallel, performed on each rank instead of just once in traditional compiled languages)? The last question is particularly interesting for Section 3.2.4, in particular for increasing number of MPI ranks.
- Please also provide some scaling results from serial to a full node and the baseline used for the scaling results shown in the manuscript.
- Please clarify early whether single or double precision is used in the simulations. I assume it is double precision (because of line 195), but it would be good to state this concretely.
- Since nearly all the results use the same kind of hardware and performance portability is emphasized strongly already in the abstract, please provide some performance results on different architectures (AMD GPUs etc.).
- It is great that the code has been published under an open-source license. However, the repository contains just a single commit. Thus, it is unclear whether the community will benefit from (likely to be anticipated) further developments. Moreover, the code documentation should be improved. For example, the manuscript highlights Parallel.foraxes in Listing 1, which cannot be found when searching the documentation of the repository.
Citation: https://doi.org/10.5194/egusphere-2026-2214-RC1 -
AC1: 'Reply on RC1', Taketo Tominaga, 31 Jul 2026
We thank Referee #1 for the careful and constructive review. We have addressed all comments and revised the manuscript accordingly. Our detailed point-by-point responses and the corresponding changes in the manuscript are provided in the attached PDF.
-
RC2: 'Comment on egusphere-2026-2214', Anonymous Referee #2, 12 Jun 2026
-
AC2: 'Reply on RC2', Taketo Tominaga, 31 Jul 2026
We thank Referee #2 for the careful and constructive review. We have addressed all comments and revised the manuscript accordingly. Our detailed point-by-point responses and the corresponding changes in the manuscript are provided in the attached PDF.
-
AC2: 'Reply on RC2', Taketo Tominaga, 31 Jul 2026
Viewed
| HTML | XML | Total | BibTeX | EndNote | |
|---|---|---|---|---|---|
| 228 | 30 | 17 | 275 | 15 | 20 |
- HTML: 228
- PDF: 30
- XML: 17
- Total: 275
- BibTeX: 15
- EndNote: 20
Viewed (geographical distribution)
| Country | # | Views | % |
|---|
| Total: | 0 |
| HTML: | 0 |
| PDF: | 0 |
| XML: | 0 |
- 1