CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Is temporal parallelization good for modern CFD codes?

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 1 Post By calim_cfd
  • 1 Post By LuckyTran
  • 1 Post By sbaffini

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 31, 2022, 16:27
Default Is temporal parallelization good for modern CFD codes?
  #1
Senior Member
 
Sayan Bhattacharjee
Join Date: Mar 2020
Posts: 495
Rep Power: 8
aerosayan is on a distinguished road
Hello everyone,

I was reading Chapter-11 of Ferziger's book. The authors directly recommend spatial and temporal parallelization for improving solver performance. Spatial parallelization is obviously very common i.e domain decomposition. I'm not sure if temporal parallelization is any good.

I don't know if I misunderstood it, but the authors seem to recommend it very strongly, and say if we compute multiple timesteps at once, then our parallelization efficiency improves, as obviously we would be doing more work, and communication overhead will thus be very less in comparison.

Paolo mentioned this once, in a random comment one year ago, but I'm not sure how it actually works, or if it's actually any good. Ferziger recommends many papers, and I'm interested to check them out later.

What are your views on temporal parallelization? Are they any good?

Thanks!
aerosayan is offline   Reply With Quote

Old   September 1, 2022, 05:30
Default
  #2
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,855
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
To be honest I have no experience and my idea is that only for a steady solution that could be useful.
Since the mathematical character of the equation is not elliptic in time, if you want to solve a physical transient I don’t see how you can really parallelize in effective way.
FMDenaro is offline   Reply With Quote

Old   September 1, 2022, 06:05
Default
  #3
Senior Member
 
Sayan Bhattacharjee
Join Date: Mar 2020
Posts: 495
Rep Power: 8
aerosayan is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
To be honest I have no experience and my idea is that only for a steady solution that could be useful.
Since the mathematical character of the equation is not elliptic in time, if you want to solve a physical transient I don’t see how you can really parallelize in effective way.
I think it could be applicable to steady state problems, as you said. Which is not bad, considering most users simply do steady state simulations. I do like my unsteady compressible flows, but it became clear to me that most users would benefit most from subsonic steady state solvers.

Not sure how to use temporal parallelization for steady state though, because we do use an artificial time to advance it, and even though the equations should be elliptic in time, i don't know if the artificial time would cause any issue, or if it makes the time advancement parabolic.

The book recommends using the old solution from the outer iterations and then running the inner iterations with temporal parallelization.

Last edited by aerosayan; September 1, 2022 at 07:32.
aerosayan is offline   Reply With Quote

Old   September 1, 2022, 10:02
Default
  #4
Senior Member
 
calim_cfd's Avatar
 
mauricio
Join Date: Jun 2011
Posts: 172
Rep Power: 18
calim_cfd is on a distinguished road
i read about it there too.. it's temping but even for steady problems it's tough to digest the idea..lol...
First, i see you gotta decide whether, for 8 cores, how to split the solution .. 4-t_dom + 4s_dom or 6 s_dom + 2 tem_dom ?.this alone is a hard call to make.. anyway.. i think they saw this window in implicit solvers,,thus it could work for both steady and transient cases? idk.. but i see they're playing with the idea of predictions and corrections between inner and outer data... i guess they are trying to use the old outer data to start the next time steps... but i see you'd be facing the same issues of higher order spacial discretizations, where you need more downstream data to run/start the solver....anyway.. i think you gotta put your hands explicitly on it to see the stability and efficiency issues of this idea..
aerosayan likes this.
__________________
Best Regards
/calim

"Elune will grant us the strength"
calim_cfd is offline   Reply With Quote

Old   September 1, 2022, 10:24
Default
  #5
Senior Member
 
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,750
Rep Power: 66
LuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura about
Temporal parallelization means partitioning the the outer iterations which as mentioned already is not really a thing. You can't solve for the solution at the last time-step independently of the first time step.

Accelerating the inner iterations via using multigrid methods or preconditioners is not what we would call temporal parallelization, or paralellization. Parallelization implies some kind of partitioning. Think parfor versus for. Very misleading.
aerosayan likes this.
LuckyTran is offline   Reply With Quote

Old   September 1, 2022, 10:36
Default
  #6
Senior Member
 
Sayan Bhattacharjee
Join Date: Mar 2020
Posts: 495
Rep Power: 8
aerosayan is on a distinguished road
Quote:
Originally Posted by LuckyTran View Post
Temporal parallelization means partitioning the the outer iterations which as mentioned already is not really a thing. You can't solve for the solution at the last time-step independently of the first time step.

Accelerating the inner iterations via using multigrid methods or preconditioners is not what we would call temporal parallelization, or paralellization. Parallelization implies some kind of partitioning. Think parfor versus for. Very misleading.
They seem to say something about a predictor corrector step. This is very new to me, but looks interesting. The nomenclature is definitely misleading, as the book shows a Ax=b system for combined 4 timesteps.

The "parallelization" term is definitely misleading.

The solution is supposed to use solution from the outer iterations and predict the solution then correct them later on.

I don't know, it's advanced for me, but very interesting.

Trying first with simple 1D system might help me.
aerosayan is offline   Reply With Quote

Old   September 2, 2022, 08:57
Default
  #7
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,191
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
I don't recall that part in ferziger, but the last (of th every few) work I've read about the topic actually worked on unsteady hyperbolic cases, with a splitting based on characteristics (or sort of). Very complex, specific and questionable in the end, as you can never be sure that point x won't need info from point x+r before time t+T. If it does you need to correct your already complex time parallel computation.
aerosayan likes this.
sbaffini is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
CFD salary dan collen Main CFD Forum 5 August 22, 2001 10:56
Question about cfd codes. Bill Main CFD Forum 24 August 14, 2001 21:17
CFD Codes Jonas Larsson Main CFD Forum 5 September 14, 1998 08:08
CFD - Trends and Perspectives Jonas Larsson Main CFD Forum 16 August 7, 1998 17:27
salary range Frank Muldoon Main CFD Forum 7 August 3, 1998 20:04


All times are GMT -4. The time now is 10:04.