Thank you for stopping by! This is the first part, a kind of introductory story to a series where I will be describing my company’s efforts and progress in bringing AI (Artificial Intelligence) to the world of CFD (Computational Fluid Dynamics). We believe it will be a complete game-changer for many industries, not only bringing speedup and cutting TCO (Total Cost of Ownership) but most importantly, offering entirely new possibilities for the CFD users. These 3 elements are also the goals for us as a company, and I will be referring to them in my subsequent stories while sharing the progress of this fascinating research project at byteLAKE. So let me say, welcome to the AI for CFD, season premiere. Follow us on a journey to bring your CFD work to a very new level. Also, you are very welcome to join the discussions and actively participate in the groups I linked below. We’re really looking forward to hearing your comments, and hopefully, our work will inspire you to open up your thoughts with us.
AI for CFD will be a complete game-changer for many industries, not only bringing speedup and cutting TCO but most importantly, offering entirely new possibilities for the CFD users.
I am pretty sure that the audience of this story is very well familiar with what the CFD is and I bet most of you bring tons of precious experience in the field. But just in case you landed here by chance or out of sheer curiosity or simply wonder how to pave your way to getting started with fluid dynamics, let me start by saying a few words of definition. In that context, and I will explain it in more detail in my future posts, we’re also thinking of lowering the entry barrier for those who want to get started with CFD simulations to solve particular engineering problems. In other words, part of our job is to make the CFD learning curve much steeper: straight forward tools you need to rapidly solve complex problems.
CFD, Computational Fluid Dynamics tools combine numerical analysis and algorithms to solve fluid flows problems. They are used to model fluids density, velocity, pressure, temperature, and chemical concentrations in relation to time and space.
A range of industries such as automotive, chemical, aerospace, biomedical, power and energy, and construction rely on fast CFD analysis turnaround time. It is a key part of their design workflow to understand and design how liquids and gases flow and interact with surfaces.
Typical applications include weather simulations, aerodynamic characteristics modeling and optimization, and petroleum mass flow rate assessment.
As a company, we’ve been working in the CFD field for many years now. We are not your typical CFD user or adopter. Our take on the subject is more from the algorithmics perspective and its adaptation or optimization (if you like) to various, heterogeneous HPC configurations.
For instance, one of the projects we did was about moving weather simulation engine from Fortran-based desktop implementation to a fully scalable, MPI-enabled C++ & NVIDIA CUDA optimized version. Needless to say, the work included a tremendous effort to mathematically redesign the computations, as well as reorganize the data to efficiently deploy it in many-CPU and many-GPU cluster environments. One such was Piz Daint supercomputer in Switzerland (still the fastest supercomputer in Europe). We’ve summarized some of the key parts of that project in the case study on our website: www.byteLAKE.com/en/MPDATA (CFD acceleration with GPU).
Then, we shifted our gears towards FPGAs, a story that led us to explore the potential of datacenter accelerator cards named Alveo. In collaboration with Xilinx, we designed from scratch the Advection algorithm and adapted it heavily to the U250 and later U280 Alveo boards. Again, straight-forward porting was not an option due to hardware specifics and our ambition to make the most of it. We decided to go with OpenCL though. However, in that particular example, our code reached almost 99% of the attainable performance. Hence, we saw no reason for moving to C++. Eventually, as in the previous case, we saw some interesting acceleration numbers. What is different though, we achieved these within extremely low energy budgets, positioning the Alveo-based configurations as a preferred accelerator if Green Computing is on your agenda. We’ve described all the technical details at www.byteLAKE.com/en/FPGA as well as in a linked technical blog post.
Both of these experiences (and many other, similar in scope) led us to a conclusion that:
CFD adaptation to hardware accelerator cards, while promising in many cases, certainly does not bring substantially new value to the industries.
The speedup offered by GPUs and FPGAs is definitely of value. Energy efficiency concerns seem to be gaining a wider audience, pushing the engineers further towards more efficient designs. However, we need to remember that CFD codes have primarily been designed for and still are heavily being customized for CPU-only machines. Therefore adaptation to heterogeneous architectures comes at a cost. A substantial one to be honest. And while such efforts are indeed interesting and just referring to the case studies I linked above, “CFD on steroids” makes sense in many cases. However, we as a company see it as an intermediate step, leading to a completely new, refreshed approach to the engineering simulations as a whole.
Beyond HPC, it is AI that we as a team always strive to leverage everywhere we possibly can to augment the intelligence of humans, machines, and even algorithms. Therefore we have been experimenting with applied machine learning for CFD for quite some time. The first time we successfully used it, was probably in combination with a mixed-precision arithmetic to further increase the efficiency of calculations in terms of shortening the time to results and lowering the energy consumption. Then we modeled a simplified advection of sin(x) * cos(y) by predicting its result with a custom-designed AI model, based on machine learning and 2D convolution. We trained the model with 1000 time steps. As a result, it needed only 3 time steps of simulation to predict the next 100 time steps. And the accuracy loss was under 0.001. Quite a simple scenario to start with and we are now tackling on a way more complex simulations, details of which I will be covering in the next parts of this series.
Top 4 Most Popular Ai Articles:
1. 10 trends of Artificial Intelligence (AI)
2. Tutorial: Stereo 3D reconstruction with openCV using an iPhone camera
3. 100 days to Deep Learning: Part 2 the 100 days
4. Bursting the Jargon bubbles — Deep Learning
As a sneak peek preview, we have just completed the full simulation of the OpenFOAM’s motorBike and used AI to predict its first returning matrix. At this very early stage, the accuracy of calculations is 95% (as compared between AI vs. motorBike solver results). We are now focusing on accuracy and memory optimizations. I will share more soon.
So if you are working in the AI + CFD field or are curious about the topic, feel free to reach out to me. I am always looking forward to hearing your perspective on the subject. Also, if you have your thoughts about what AI could or should do for CFD, what benefits you’d expect to see, or would warmly welcome, do leave your comment below.
Since I used the OpenFOAM name, a short disclaimer: OPENFOAM® is a registered trademark of ESI Group. This offering is not approved or endorsed by ESI Group, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trademarks.
Don’t forget to give us your 👏 !
AI for CFD: Intro (part 1) was originally published in Becoming Human: Artificial Intelligence Magazine on Medium, where people are continuing the conversation by highlighting and responding to this story.