- Thank you received: 0
run netgen in parallel in python
3 years 6 months ago - 3 years 6 months ago #3730
by gen
run netgen in parallel in python was created by gen
First, I like to thank those who made Netgen available to the public. I tried many other meshing softwares, and Netgen is the only one that works perfectly for my applications. Great work!
While Netgen works well, I like to explore its parallel meshing, as currently it takes about 300s to mesh my object (from stl file). My system is Win10, 4-core I7, and I installed Netgen GUI. In the meshing options, the 'parallel" is checked. In my work I actually use Anaconda/Spyder. The following code with `ngcore.TaskManager()' works fine, but the time it costs is not much different from the regular code without `ngcore.TaskManager()'. I was wondering if I am doing it correctly?
I tried running is Spyder, and also on command line by `python test.py`. The results are the same. I have zero knowledge of parallel computing, and would appreciate your insights!
While Netgen works well, I like to explore its parallel meshing, as currently it takes about 300s to mesh my object (from stl file). My system is Win10, 4-core I7, and I installed Netgen GUI. In the meshing options, the 'parallel" is checked. In my work I actually use Anaconda/Spyder. The following code with `ngcore.TaskManager()' works fine, but the time it costs is not much different from the regular code without `ngcore.TaskManager()'. I was wondering if I am doing it correctly?
I tried running is Spyder, and also on command line by `python test.py`. The results are the same. I have zero knowledge of parallel computing, and would appreciate your insights!
Code:
import netgen.stl as stl
from netgen.meshing import MeshingStep, MeshingParameters, meshsize, FaceDescriptor
from ngsolve import ngsglobals
import pyngcore as ngcore #netgen parallel, optional
import time
ngsglobals.msg_level = 2
geo = stl.STLGeometry("test.stl")
start_time = time.time()
ngcore.SetNumThreads(4)
with ngcore.TaskManager(): # I also tried without this ngcore, the results are the same
mesh = geo.GenerateMesh(meshsize.very_coarse,
perfstepsstart=MeshingStep.ANALYSE,
perfstepsend=MeshingStep.MESHVOLUME,
curvaturesafety=5)
end_time= time.time()
print("time cost for meshing: {}s".format(end_time - start_time))
Last edit: 3 years 6 months ago by gen.
Time to create page: 0.104 seconds