Hello Dear,
I have a question about the license. Me and my partner would like to simulate something using Featool. We would like to integrate the CAD software and the meshing program into Simulink on one computer using a Matlab parallel server and integrate FeaTool into Simulink via Matlab scripting on the other computer and make improvements to our process using the Matlab optimization toolbox. Question1: is it possible to run FeaTool like a multicore simulation (like Matlab scripting) with only using one license? Question2: is it possible - if you use matlab parallel server - to also simulate the simulation in FeaTool in a cluster? And what about the license in this case? Question2 would be good, but clustering FeaTool is not absolutely necessary (at the moment). Best regards! CFD2D
Marten Mehring
Madrigal Industrial Solutions UG |
Administrator
|
That sounds like an interesting use case. Its certainly possible but, what would be the advantage of this splitting geometry/meshing and solving between two systems? Yes, the solvers support OpenMP parallelization, so shared memory with multiple cores on one CPU. The external solvers (SU2, FEniCS, OpenMP) also support distributed solution via MPI, but you would have to start and monitor the mpi runs with a custom script, as support for it is currently not built-in. You can certainly use parallel server, but it would only help to run several simulations in parallel. It unfortunately wouldn't support or help with running a single simulation faster in parallel. Kind of similar to the discussion here: https://www.featool.com/tutorial/2017/06/07/Running-Parallel-Matlab-FEM-and-Multiphysics-Simulations |
yes, on one computer is the CAD software (PTC Creo) and the meshing software (CFMESH+). This PC has 8 cores I7 of the 11th generation and 64GB DDR5 RAM. On the other computer is FeaTool with an AMD Ryzen Threadripper 3960X - 24x 3.80GHz and 256 DDR3 RAM. Both computers link all models via simulink —> Shape Optimization So we have FeaTool only on one computer!
Yes of course no problem. Perfect update 👌💪!
OK but we have a powerful computer. This would be sufficient for the first purposes. But you think that doubling the CPU and RAM (via a cluster) wouldn't make the simulation run faster? Best regards! CFD2D
Marten Mehring
Madrigal Industrial Solutions UG |
Administrator
|
It sounds like very interesting simulations. FEA and CFD simulations are typically limited by the memory bandwidth of the system. Because in the end we are solving very sparse systems (matrices) with indirect memory access, so reading and writing to memory is very expensive (as in slow) compared to the computations that the processor performs. A Threadripper CPU is good that it has quad channel memory, with a theoretical max memory bandwidth of 144GB/s, this is much better than normal consumer CPUs (currently around 20-80GB/s) but when the memory bandwidth is reached you will stop seeing gains adding more cores/threads, in your case I don't think you will be able to make effective use of all 24 cores (you will maybe not see benefits after 8-12 cores?). Server class processors like AMD Epyc have 200 GB/s bandwidth and would be better (with the 16 core 7302 often recommended for CFD). Also the Apple Studio with M1 Ultra CPU has potential and offer a theoretical 800GB/s of bandwidth, however neither Matlab of FEATool is currently supported natively (without Rosetta emulation which reduces the benefits). So as long as your model fits in memory, adding more is unlikely to help speed up simulations, faster memory and more memory bandwidth is more important. |
I have the AMD Threadthripper 3960X and 256GB DDR4 RAM (3200Mhz). Maybe you can say me a ratio CPU (like 204,8GB/s) to GB DDR4 (3200Mhz)? So that I can determine the best possible price-performance ratio. Best regards! CFD2D
Marten Mehring
Madrigal Industrial Solutions UG |
Administrator
|
I really can't guess at this point where your system will "top out", it kind of depends on the problem, but I think its unlikely that you will need (or see much benefit from more memory). I would say to start with what you already have and see how it works. Basically as soon as you saturate your memory bandwidth, the CPUs have to wait for data to perform computations, and you won't see any improvements from using more cores anymore (faster CPUs and more cores basically only help until you hit the memory bandwidth ceiling). |
Free forum by Nabble | Edit this page |