+

CN115204010B - Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism - Google Patents

Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism Download PDF

Info

Publication number
CN115204010B
CN115204010B CN202210759741.2A CN202210759741A CN115204010B CN 115204010 B CN115204010 B CN 115204010B CN 202210759741 A CN202210759741 A CN 202210759741A CN 115204010 B CN115204010 B CN 115204010B
Authority
CN
China
Prior art keywords
calculation
sub
atomic oxygen
core
cores
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210759741.2A
Other languages
Chinese (zh)
Other versions
CN115204010A (en
Inventor
骆吉洲
李兴冀
杨剑群
董尚利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Shenzhen
Original Assignee
Harbin Institute of Technology Shenzhen
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology Shenzhen filed Critical Harbin Institute of Technology Shenzhen
Priority to CN202210759741.2A priority Critical patent/CN115204010B/en
Publication of CN115204010A publication Critical patent/CN115204010A/en
Application granted granted Critical
Publication of CN115204010B publication Critical patent/CN115204010B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/28Fuselage, exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于多核并行的原子氧或紫外通量的蒙特卡罗模拟方法,涉及航天器仿真计算技术领域,所述基于多核并行的原子氧或紫外通量的蒙特卡罗模拟方法包括:获取航天器仿真软件运行平台的核数,根据所述核数确定并行任务数;根据计算项目类别,为参与并行计算的各个核分别建立子线程并分配计算任务,并根据所述计算项目类别为各个所述子线程分配统计空间;航天器仿真软件运行平台的主线程建立共享变量,且所述主线程根据各个所述子线程对所述计算任务的完成结果,对所述共享变量加锁或放锁;所述主线程根据所有所述子线程对所述计算任务的完成结果输出计算结果。与现有技术比较,本发明能够提高CPU/内存利用率,大幅削减计算时间。

The present invention provides a Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism, which relates to the field of spacecraft simulation computing technology. The Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism includes: obtaining the number of cores of a spacecraft simulation software running platform, and determining the number of parallel tasks according to the number of cores; establishing sub-threads and assigning computing tasks to each core participating in parallel computing according to the computing project category, and assigning statistical space to each sub-thread according to the computing project category; the main thread of the spacecraft simulation software running platform establishes shared variables, and the main thread locks or unlocks the shared variables according to the completion results of each sub-thread on the computing task; the main thread outputs the computing results according to the completion results of all the sub-threads on the computing task. Compared with the prior art, the present invention can improve CPU/memory utilization and significantly reduce computing time.

Description

Monte Carlo simulation method based on multi-core parallel atomic oxygen or ultraviolet flux
Technical Field
The invention relates to the technical field of spacecraft simulation calculation, in particular to a Monte Carlo simulation method based on multi-core parallel atomic oxygen or ultraviolet flux.
Background
In the application scenario of spacecraft simulation software in the aspects of teaching, demonstration and the like of spacecraft design, a software operation platform is generally a common desktop with limited memory and no configured computing type GPU. The difference in the erosion/undercut effects of different protective coating materials attached to the exterior surfaces during service of a spacecraft due to exposure to atomic oxygen/ultraviolet radiation environments needs to be demonstrated during software operation. The magnitude of the ablation and undercut effects depends on the magnitude of the atomic oxygen/uv irradiation flux and the choice of spacecraft surface coating materials. The atomic oxygen/ultraviolet irradiation flux depends on the flying height, flying direction, atomic oxygen density, ultraviolet irradiation intensity and other factors of the spacecraft. This requires simulation software to calculate atomic oxygen or uv flux across the surface of the spacecraft based on its flight environmental parameters.
At present, various simulation software mostly adopts Monte Carlo simulation to calculate atomic oxygen/ultraviolet irradiation flux of each unit on the surface of the spacecraft. The method divides the surface of a spacecraft into grid cells, and then calculates the flux of each grid cell by counting the number of simulated particles touching each grid cell in a given experimental total number. In each random experiment, atomic oxygen particles/simulated ultraviolet irradiation particles are generated at random positions, the final speed of the atomic oxygen particles/simulated ultraviolet irradiation particles is synthesized according to the flying speed of a spacecraft and the thermodynamic movement speed of the atomic oxygen, and the grid cells touched in the movement process of the simulated particles and the grid cells touched after specular reflection or diffuse reflection are calculated. The calculation complexity of the method increases in a super-linear way along with the total number of the surface subdivision grids of the spacecraft and increases in a linear way along with the total number of random experiments. In addition, the current calculation method of the simulation software ensures that the CPU/memory utilization rate is low, the task response time is long, the user experience is poor, and even the medium-scale mesh subdivision and the random experiment total number also need to wait for flux calculation results for a long time, so that the application of the simulation software is limited.
Disclosure of Invention
The invention solves the problems that the current calculation method of the simulation software in the prior art has at least one aspect of low CPU/memory utilization rate, long task response time and poor user experience.
In order to solve the problems, the invention provides a Monte Carlo simulation method based on multi-core parallel atomic oxygen or ultraviolet flux, which comprises the following steps:
step S1, acquiring the number of cores of a spacecraft simulation software operation platform, and determining the number of parallel tasks according to the number of cores;
step S2, respectively establishing sub-threads for each core participating in parallel computation according to the computation item category, distributing computation tasks, and distributing statistical space for each sub-thread according to the computation item category;
Step S3, a main thread of the spacecraft simulation software operation platform establishes a shared variable, and the main thread locks or unlocks the shared variable according to the completion result of each sub-thread on the calculation task;
and S4, the main thread outputs a calculation result according to the completion result of all the sub threads on the calculation task.
Preferably, in step S1, the determining the number of parallel tasks according to the number of cores includes:
when the number of cores is smaller than or equal to a first threshold value, a multi-core parallel mechanism is not started;
when the number of cores is greater than a first threshold and less than or equal to a second threshold, the number of parallel tasks is the number of cores-1;
And when the number of cores is larger than a second threshold value, the number of parallel tasks is the number of cores-2.
Preferably, in step S2, the allocating a statistical space for each of the sub-threads includes allocating a statistical space for calculating a result and a result distribution for each of the sub-threads.
Preferably, in step S2, the item category includes atomic oxygen flux or ultraviolet flux.
Preferably, in step S2, when the atomic oxygen flux is calculated, the sub-threads are respectively established for each core participating in parallel calculation, and the total number of random experiments is equally distributed to each sub-thread.
Preferably, in step S2, when calculating the atomic oxygen flux, an independent memory space is allocated for each of the sub-threads for the calculation result and the statistics of the result distribution.
Preferably, in step S2, when the uv flux is calculated, the sub-threads are respectively established for each core participating in parallel calculation, and the spacecraft surface subdivision grid is equally distributed to each sub-thread according to the total number.
Preferably, in step S2, when calculating the uv flux, an independent memory space is allocated for each of the sub-threads for the statistics of the result distribution, and each of the sub-threads uses a shared memory space for the statistics of the calculation result.
Preferably, in step S3, the main thread locks or unlocks the shared variable according to the completion result of each sub-thread on the computing task, including that after the sub-thread finishes computing, the main thread starts to access the shared variable, locks the shared variable, and after the sub-thread finishes accessing the shared variable, the main thread unlocks the shared variable.
Preferably, in step S4, the main thread outputs a calculation result according to the completion result of all the sub-threads on the calculation task, including aggregating the calculation results of all the sub-threads by the main thread after all the sub-threads complete the calculation task, and outputting a final calculation result and result distribution data.
Compared with the prior art, the Monte Carlo simulation method based on the multi-core parallel atomic oxygen or ultraviolet flux has the advantages that the Monte Carlo simulation method based on the multi-core parallel atomic oxygen or ultraviolet flux accelerates the Monte Carlo simulation calculation process of the atomic oxygen/ultraviolet irradiation flux on the surface of the spacecraft by reasonably dividing calculation tasks, reasonably utilizing a lock mechanism to avoid data writing conflict and other technical means, has simple steps, is easy to realize, can greatly improve the CPU/memory utilization ratio under the condition of not changing calculation precision, further greatly reduces the time and cost of Monte Carlo simulation, can also improve the accuracy of the atomic oxygen/ultraviolet irradiation flux by thinning the surface split grid of the spacecraft or increasing random experiment total number in the same calculation time, and reduces the calculation, use and research costs of the atomic oxygen/ultraviolet irradiation flux on the surface of the spacecraft, thereby having great significance. The method has obvious advantages and wide application prospects in the popularization, teaching and demonstration of spacecraft simulation software and the technical application of the degradation/undercut effect of spacecraft surface coating materials.
Drawings
FIG. 1 is a flow chart of a Monte Carlo simulation method based on multi-core parallel atomic oxygen or ultraviolet flux in an embodiment of the invention;
FIG. 2 is a schematic diagram of the calculation result of a Monte Carlo simulation method based on the atomic oxygen flux of a single core in the embodiment of the invention;
FIG. 3 is a schematic diagram of a calculation result of a Monte Carlo simulation method based on multi-core parallel atomic oxygen flux in an embodiment of the invention;
FIG. 4 is a schematic diagram of a calculation result of a Monte Carlo simulation method based on single-core ultraviolet flux in an embodiment of the invention;
Fig. 5 is a schematic diagram of calculation results of a monte carlo simulation method based on multi-core parallel ultraviolet flux in an embodiment of the present invention.
Detailed Description
The technical solutions of the embodiments of the present application will be clearly and thoroughly described below with reference to the accompanying drawings.
In the description of embodiments of the present application, the term "description of some embodiments" means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same implementations or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
It should also be noted that in the description of the embodiments of the present application, the term "comprises/comprising" or any other variation thereof is intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal device. Without further limitation, an element defined by the phrase "comprising" does not exclude that an additional identical element is present in a process, method, article or terminal device comprising the element.
As shown in fig. 1, the embodiment of the invention provides a monte carlo simulation method based on multi-core parallel atomic oxygen or ultraviolet flux, which comprises the following steps:
step S1, acquiring the number of cores of a spacecraft simulation software operation platform, and determining the number of parallel tasks according to the number of cores;
step S2, respectively establishing sub-threads for each core participating in parallel computation according to the computation item category, distributing computation tasks, and distributing statistical space for each sub-thread according to the computation item category;
Step S3, a main thread of the spacecraft simulation software operation platform establishes a shared variable, and the main thread locks or unlocks the shared variable according to the completion result of each sub-thread on the calculation task;
and S4, the main thread outputs a calculation result according to the completion result of all the sub threads on the calculation task.
According to the embodiment, the Monte Carlo simulation method is modified, data sharing and data collection in calculation tasks are reasonably distributed on the premise of not changing calculation results, and the Monte Carlo simulation process is accelerated by fully utilizing a modern computer multi-core parallel architecture, so that the Monte Carlo simulation method is suitable for teaching and displaying scenes on a common desktop and suitable for large-scale simulation experiment scenes.
In some embodiments, in step S1, the determining the number of parallel tasks according to the number of cores includes:
when the number of cores is smaller than or equal to a first threshold value, a multi-core parallel mechanism is not started;
when the number of cores is greater than a first threshold and less than or equal to a second threshold, the number of parallel tasks is the number of cores-1;
And when the number of cores is larger than a second threshold value, the number of parallel tasks is the number of cores-2.
In some preferred embodiments, the first threshold is 2 and the second threshold is 4, thereby enabling a reasonable division of the computing tasks according to the number of cores, saving both costs and increasing computing time.
In some embodiments, in step S2, the assigning statistical space to each of the sub-threads includes assigning statistical space for calculating results and result distributions to each of the sub-threads.
In some embodiments, in step S2, the item category includes atomic oxygen flux or ultraviolet flux. Therefore, the method can realize the simulation calculation of atomic oxygen flux and ultraviolet flux, and has wide application range.
In some embodiments, in step S2, when calculating the atomic oxygen flux, the sub-threads are respectively established for each core participating in parallel calculation, and the random experiment total number is equally distributed to each sub-thread. And allocating independent memory space for each sub-thread for statistics of the calculation result and result distribution. Therefore, task allocation and calculation data storage can be reasonably carried out, the CPU/memory utilization rate is improved, and time and cost are saved.
In other embodiments, in step S2, when the uv flux is calculated, the sub-threads are respectively established for each core participating in parallel calculation, and the spacecraft surface subdivision grid is equally distributed to each of the sub-threads according to the total number. And allocating independent memory space for each sub-thread for statistics of the result distribution, and each sub-thread uses shared memory space for statistics of the calculation result. Therefore, task allocation and calculation data storage can be reasonably carried out, the CPU/memory utilization rate is improved, and time and cost are saved.
In some embodiments, in step S3, the main thread locks or unlocks the shared variable according to the completion result of each sub-thread on the computing task, including that after the computation of one sub-thread is finished, the main thread starts to access the shared variable, and at this time, the main thread locks the shared variable to prevent other sub-threads from accessing the shared variable, and after the sub-thread completes the access to the shared variable, the main thread unlocks the shared variable to allow other sub-threads to access the shared variable. Therefore, the data writing conflict is avoided by reasonably utilizing a lock mechanism, and the accuracy of the calculation result is affected.
In some embodiments, in step S4, the main thread outputs a calculation result according to the completion result of all the sub-threads on the calculation task, including aggregating the calculation results of all the sub-threads by the main thread after all the sub-threads complete the calculation task, and outputting a final calculation result and result distribution data. Therefore, by aggregating the data after multi-core parallelization, the CPU/memory utilization rate is improved, and the calculation time is greatly reduced.
In order to verify the effectiveness of the Monte Carlo simulation method based on the atomic oxygen or ultraviolet flux of the multi-core parallel in the embodiment, the Monte Carlo simulation method based on the atomic oxygen or ultraviolet flux of a single core is adopted for calculation by adopting the same grid density, the same particle number and the same particle reflection number, and the Monte Carlo simulation method based on the atomic oxygen or ultraviolet flux of the single core is used as comparison. Fig. 2-5 show, fig. 2 is a schematic diagram of a calculation result of a monte carlo simulation method based on single core atomic oxygen flux in an embodiment of the present invention, wherein a calculation time under a single core is 666.234 seconds, fig. 3 is a schematic diagram of a calculation result of a monte carlo simulation method based on multi-core parallel atomic oxygen flux in an embodiment of the present invention, a calculation time under a dual-core 4 thread is 175.339 seconds, fig. 4 is a schematic diagram of a calculation result of a monte carlo simulation method based on single core ultraviolet flux in an embodiment of the present invention, a calculation time under a single core is 251.648 seconds, and fig. 5 is a schematic diagram of a calculation result of a monte carlo simulation method based on multi-core parallel ultraviolet flux in an embodiment of the present invention, and a calculation time under a dual-core 4 thread is 70.263 seconds. In fig. 2 and 3, the size of the atomic oxygen flux is represented by the change in the shade of the color, the darker the color is, the larger the atomic oxygen flux is, and in fig. 4 and 5, the size of the ultraviolet irradiation flux is represented by the change in the shade of the color, the darker the color is, and the larger the ultraviolet irradiation flux is. As can be seen from the figure, the monte carlo simulation method based on the multi-core parallel atomic oxygen or ultraviolet flux in the embodiment is basically consistent with the calculation result of the monte carlo simulation method based on the single-core atomic oxygen or ultraviolet flux.
Therefore, the Monte Carlo simulation method based on the multi-core parallel atomic oxygen or ultraviolet flux in the embodiment accelerates the Monte Carlo simulation calculation process of the atomic oxygen/ultraviolet irradiation flux on the surface of the spacecraft by reasonably dividing calculation tasks, reasonably utilizing a lock mechanism to avoid data writing conflict and other technical means, has simple steps, is easy to realize, can greatly improve the CPU/memory utilization rate under the condition of not changing calculation precision, further greatly reduces the time and cost of Monte Carlo simulation, can also improve the precision of the atomic oxygen/ultraviolet irradiation flux by thinning the surface of the spacecraft or increasing random experiment total number in the same calculation time, and reduces the calculation, use and research costs of the atomic oxygen/ultraviolet irradiation flux on the surface of the spacecraft. The method has obvious advantages and wide application prospects in the popularization, teaching and demonstration of spacecraft simulation software and the technical application of the degradation/undercut effect of spacecraft surface coating materials.
Although the present disclosure is disclosed above, the scope of the present disclosure is not limited thereto. Various changes and modifications may be made by one skilled in the art without departing from the spirit and scope of the disclosure, and these changes and modifications will fall within the scope of the disclosure.

Claims (4)

1.一种基于多核并行的原子氧或紫外通量的蒙特卡罗模拟方法,其特征在于,包括如下步骤:1. A Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism, characterized in that it comprises the following steps: 步骤S1,获取航天器仿真软件运行平台的核数,根据所述核数确定并行任务数;Step S1, obtaining the number of cores of the spacecraft simulation software running platform, and determining the number of parallel tasks according to the number of cores; 步骤S2,根据计算项目类别,为参与并行计算的各个核分别建立子线程并分配计算任务,并根据所述计算项目类别为各个所述子线程分配统计空间,其中,所述项目类别包括原子氧通量或紫外通量,包括:Step S2, according to the calculation project category, respectively establish a subthread for each core participating in the parallel calculation and assign a calculation task, and assign a statistical space to each subthread according to the calculation project category, wherein the project category includes atomic oxygen flux or ultraviolet flux, including: 当计算所述原子氧通量时,为参与并行计算的各个核分别建立所述子线程,并将随机实验总数平均分配给各个所述子线程,为各个所述子线程分配独立内存空间用于计算结果和结果分布的统计;When calculating the atomic oxygen flux, the subthread is established for each core participating in the parallel calculation, the total number of random experiments is evenly distributed to each subthread, and an independent memory space is allocated to each subthread for statistics of calculation results and result distribution; 当计算所述紫外通量时,为参与并行计算的各个核分别建立所述子线程,并将航天器表面剖分网格按总数平均分配给各个所述子线程,为各个所述子线程分配独立内存空间用于所述结果分布的统计,且各个所述子线程使用共享内存空间用于所述计算结果的统计;When calculating the ultraviolet flux, the subthread is established for each core participating in the parallel calculation, and the spacecraft surface mesh is evenly distributed to each subthread according to the total number, and an independent memory space is allocated to each subthread for the statistics of the result distribution, and each subthread uses a shared memory space for the statistics of the calculation results; 步骤S3,航天器仿真软件运行平台的主线程建立共享变量,且所述主线程根据各个所述子线程对所述计算任务的完成结果,对所述共享变量加锁或放锁;Step S3, the main thread of the spacecraft simulation software running platform establishes a shared variable, and the main thread locks or unlocks the shared variable according to the completion results of the computing task by each of the sub-threads; 步骤S4,所述主线程根据所有所述子线程对所述计算任务的完成结果输出计算结果。Step S4, the main thread outputs the calculation result according to the completion result of the calculation task by all the sub-threads. 2.根据权利要求1所述的基于多核并行的原子氧或紫外通量的蒙特卡罗模拟方法,其特征在于,步骤S1中,所述根据所述核数确定并行任务数,包括:2. The Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism according to claim 1, characterized in that, in step S1, determining the number of parallel tasks according to the number of cores comprises: 当所述核数小于或等于第一阈值时,不启动多核并行机制;When the number of cores is less than or equal to the first threshold, the multi-core parallel mechanism is not started; 当所述核数大于第一阈值且小于或等于第二阈值时,所述并行任务数为核数-1;When the number of cores is greater than the first threshold and less than or equal to the second threshold, the number of parallel tasks is the number of cores - 1; 当所述核数大于第二阈值时,所述并行任务数为核数-2。When the number of cores is greater than the second threshold, the number of parallel tasks is the number of cores-2. 3.根据权利要求1所述的基于多核并行的原子氧或紫外通量的蒙特卡罗模拟方法,其特征在于,步骤S3中,所述主线程根据各个所述子线程对所述计算任务的完成结果,对所述共享变量加锁或放锁,包括:一个所述子线程计算结束后开始访问所述共享变量,所述主线程对所述共享变量加锁,待所述子线程完成对所述共享变量的访问后,所述主线程对所述共享变量放锁。3. The Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism according to claim 1 is characterized in that, in step S3, the main thread locks or unlocks the shared variable according to the completion results of the computing task by each of the sub-threads, including: after one of the sub-threads completes the calculation and starts to access the shared variable, the main thread locks the shared variable, and after the sub-thread completes the access to the shared variable, the main thread unlocks the shared variable. 4.根据权利要求1所述的基于多核并行的原子氧或紫外通量的蒙特卡罗模拟方法,其特征在于,步骤S4中,所述主线程根据所有所述子线程对所述计算任务的完成结果输出计算结果,包括:当所有所述子线程完成计算任务后,所述主线程聚合各个所述子线程的计算结果,输出最终计算结果和结果分布数据。4. The Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism according to claim 1 is characterized in that, in step S4, the main thread outputs the calculation result according to the completion result of the calculation task by all the sub-threads, including: when all the sub-threads complete the calculation task, the main thread aggregates the calculation results of each of the sub-threads and outputs the final calculation result and result distribution data.
CN202210759741.2A 2022-06-30 2022-06-30 Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism Active CN115204010B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210759741.2A CN115204010B (en) 2022-06-30 2022-06-30 Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210759741.2A CN115204010B (en) 2022-06-30 2022-06-30 Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism

Publications (2)

Publication Number Publication Date
CN115204010A CN115204010A (en) 2022-10-18
CN115204010B true CN115204010B (en) 2025-06-13

Family

ID=83577375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210759741.2A Active CN115204010B (en) 2022-06-30 2022-06-30 Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism

Country Status (1)

Country Link
CN (1) CN115204010B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117743388B (en) * 2023-12-26 2024-06-25 广州海量数据库技术有限公司 SMP-based index parallel scanning method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317655A (en) * 2014-10-11 2015-01-28 华中科技大学 Cluster GPU acceleration-based multi-source full path Monte-Carlo simulation method
CN110504016A (en) * 2018-05-18 2019-11-26 北京连心医疗科技有限公司 A kind of Monte Carlo grid parallel computation dose calculation methodology, equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5149321B2 (en) * 2010-03-24 2013-02-20 株式会社東芝 Electromagnetic field simulation method, electromagnetic field simulation apparatus, and semiconductor device manufacturing method
JP4950325B2 (en) * 2010-07-02 2012-06-13 みずほ第一フィナンシャルテクノロジー株式会社 Efficient parallel processing method of Monte Carlo method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317655A (en) * 2014-10-11 2015-01-28 华中科技大学 Cluster GPU acceleration-based multi-source full path Monte-Carlo simulation method
CN110504016A (en) * 2018-05-18 2019-11-26 北京连心医疗科技有限公司 A kind of Monte Carlo grid parallel computation dose calculation methodology, equipment and storage medium

Also Published As

Publication number Publication date
CN115204010A (en) 2022-10-18

Similar Documents

Publication Publication Date Title
Jetley et al. Massively parallel cosmological simulations with changa
CN101799773B (en) Memory access method of parallel computing
CN101706741A (en) Method for partitioning dynamic tasks of CPU and GPU based on load balance
US20130007370A1 (en) Method and apparatus for minimizing working memory contentions in computing systems
CN102508820B (en) A GPU-Based Method for Eliminating Data Correlation in the Process of Solving Cloud Equations in Parallel
Stratton et al. Algorithm and data optimization techniques for scaling to massively threaded systems
CN110516316B (en) A GPU-accelerated method for solving Euler equations by discontinuous Galerkin method
DE112020004181T5 (en) PROVIDE DIRECT DATA ACCESS BETWEEN ACCELERATORS AND STORAGE IN A COMPUTING ENVIRONMENT
CN112130977B (en) Task scheduling method, device, equipment and medium
CN115204010B (en) Monte Carlo simulation method of atomic oxygen or ultraviolet flux based on multi-core parallelism
DiMarco et al. Performance impact of dynamic parallelism on different clustering algorithms
Gounley et al. Propagation pattern for moment representation of the lattice Boltzmann method
Vasudevan et al. G-charm: an adaptive runtime system for message-driven parallel applications on hybrid systems
Ji et al. Memory-efficient deep learning inference with incremental weight loading and data layout reorganization on edge systems
Mahmoud et al. RXMesh: a GPU mesh data structure
CN111599015B (en) Spatial polygon gridding filling method and device under constraint condition
Sha et al. Self-adaptive graph traversal on gpus
CN115186535B (en) A Monte Carlo simulation method for atomic oxygen or ultraviolet flux on spacecraft surfaces
DE102019101853A1 (en) Dynamic partitioning of execution resources
Pei et al. Communication avoiding 2d stencil implementations over parsec task-based runtime
CN111475998A (en) Hybrid execution of electronic design automation (EDA) processes with delayed access to remote resources
CN112395073A (en) High-performance fast rendering method for large vector data
CN109670001A (en) Polygonal gird GPU parallel calculating method based on CUDA
Kahan et al. " MAMA!" a memory allocator for multithreaded architectures
Park et al. Transparent GPU memory management for DNNs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载