2023-05-26

GPUs in CFD



In a chat recently, I heard that computational fluid dynamics (CFD) can’t take advantage of GPUs. That seemed a bit doubtful to me, so I looked it up. Seems like there has been some work recently that showed how use of GPUs greatly accelerate CFD workloads.

This press release on OpenACC’s website talks about how a private company (AeroDynamic Solutions, Inc. (ADSCFD)) used OpenACC to give their proprietary CFD solver Code LEO GPU capabilities, with very good speedup.

By using OpenACC to GPU-accelerate their commercial flow solver, ADSCFD achieved significant value. They realized dramatically improved performance across multiple use cases with speed-ups ranging from 20 to 300 times, reductions in cost to solution of up to 70%, and access to analyses that were once deemed infeasible to instead being achieved within a typical design cycle.

Similar blog posts from Nvidia and ANSYS+Nvidia last year also show significant speedups (between 12x and 33x) and significant power consumption savings, as well.

Nvidia’s blog post show results from a beta version of ANSYS Fluent and Simcenter STAR-CCM+. 

Figure 2 shows the performance of the first release of Simcenter STAR-CCM+ 2022.1 against commonly available CPU-only servers. For the tested benchmark, an NVIDIA GPU-equipped server delivers results almost 20x faster than over 100 cores of CPU.

The performance of the Ansys Fluent 2022 beta1 server compared to CPU-only servers shows that Intel Xeon, AMD Rome, and AMD Milan had ~1.1x speedups compared to the NVIDIA A100 PCIe 80GB, which had speedups from 5.2x (one GPU) to an impressive 33x (eight GPUs). 

ANSYS’s blog post covers the same result as Nvidia, showing 33x speedup using 8 A100 GPUs. They also do a cost comparison of equal-speed clusters, one using GPUs and the other purely CPUs:

1 NVIDIA A100 GPU ≈ 272 Intel® Xeon® Gold 6242 Cores

Comparing the older V100 GPUs with Intel® Xeon® Gold 6242, the 6x V100 GPU cluster would cost $71,250 while the equivalent CPU-only cluster would cost $500,000, i.e. about one seventh the price.
 
 

2023-05-06

Fireship YouTube: Serverless was a big mistake... says Amazon

 

“Amazon Prime Video released an article explaining how they saved 90% on cloud computing costs by switching from microservices to a monolith. Let's examine the details of their software architecture and find out why serverless was a bad choice.”


2023-04-22

Industry Out of Phase With Supercomputers (IEEE Spectrum)

An article in IEEE Spectrum covers a recent report by the National Nuclear Security Administration (NNSA): 

NNSA has developed massive and sophisticated codes that run on supercomputers to verify the continued security and performance of nuclear weapons designed decades ago. Keeping them up to date requires new generations of supercomputers that can run more complex models faster than the months required on today’s machines. But industry, which has shelled out big bucks for state-of-the-art fabs, is targeting big, profitable markets like cloud computing.

Read the article here: https://spectrum.ieee.org/supercomputing 

2023-02-11

ChatGPT plays chess against Stockfish

This is not the usual subject matter for this blog, but ChatGPT has been in the news, and even seen some trials for application in research that I think it’s worth watching. Also, LOL.



2023-02-09

RPM generation error “Missing build-id”

I came across this error while trying to build an RPM for apptainer on my system, which is older than what is supported by the authors. The compilation process seems to complete successfully, but at the end, no RPM is generated. These messages are shown:
    error: Missing build-id in /home/swbuild/rpmbuild/BUILDROOT/apptainer-1.1.3-1.el8.x86_64/usr/libexec/apptainer/bin/squashfuse_ll
    error: Generating build-id links failed

    RPM build errors:
        Macro expanded in comment on line 97: %{?el7}

        Missing build-id in /home/swbuild/rpmbuild/BUILDROOT/apptainer-1.1.3-1.el8.x86_64/usr/libexec/apptainer/bin/squashfuse_ll
        Generating build-id links failed
This is because older versions of GCC do not include the build-id by default. The fix is to add LDFLAGS="-Wl,--build-id" to the configure line in the .spec.in file, e.g.
    FLAGS=-std=c99 LDFLAGS="-Wl,--build-id" ./configure --enable-multithreading

2022-12-11

Researchers Managed to Transfer Twice the Global Internet Traffic in a Single Second

Gizmodo reports

a team of researchers from the Technical University of Denmark and Chalmers University of Technology in Sweden [hit] 1.84 Pbit/s with a new chip that uses just a single laser. That’s the equivalent of moving “twice the total global Internet traffic,” all in one second.
… 
As detailed in a paper recently published in the Nature Photonics journal, the research team developed a new optical chip that functions as something called a frequency comb. Light from a single infrared laser source enters the chip, where it’s split into a rainbow spectrum of hundreds of different colors that can each be encoded with data by modulating three specific properties of each frequency: its amplitude, phase, and polarization. Those hundreds of specially modulated frequencies are then recombined back into a single beam, which is transmitted down a fiber optic cable, and then decoded on the other end. 

2022-10-02

Singularity recipe and image for AlphaFold

An update to a previous post: I have updated my Singularity recipe for AlphaFold to use AlphaFold 2.2.4. The pre-built Singularity image is also uploaded onto Sylabs Cloud. I will try to keep this updated to track AlphaFold, but Sylabs Cloud has only enough space for one image at a time, so it will always have the latest build only.