C, C#, C++

Configure a Jupyter notebook to use GPUs for AI/ML modeling
Article

Your second GPU algorithm: Quicksort

Kenny Ge

Learn how to write a GPU-accelerated quicksort procedure using the algorithm for prefix sum/scan and explore other GPU algorithms, such as Reduce and Game of Life.

Featured image for Red Hat Enterprise Linux.
Article

Using GDB to time travel

Guinevere Larsen

This article provides a quick tutorial, explaining how to use GDB's reverse debugging facility, also known as time travel debugging. This will show the basic commands to use this facility.

Configure a Jupyter notebook to use GPUs for AI/ML modeling
Article

What is GPU programming?

Kenny Ge

The first of a four-part series on introductory GPU programming, this article provides a basic overview of the GPU programming model.

Featured image for: Value range propagation in GCC with Project Ranger.
Article

A practical guide to linker section ordering

Nick Clifton

Learn how to use a linker's section ordering feature to experiment with the layout of code and data in memory, without the need to write full linker scripts.

DOTNET on Red Hat Enterprise Linux_Share Image
Cheat Sheet

.NET on Red Hat Enterprise Linux cheat sheet

Don Schenck

Learn how to install .NET Core 2.0 on Red Hat Enterprise Linux, write a Hello World program, and run your .NET code in a Linux container in this cheat sheet.

Featured image for: Value range propagation in GCC with Project Ranger.
Article

Vectorization optimization in GCC

Jakub Jelínek

Learn how developers can achieve higher performance using the GCC compiler system's vectorization features.

Featured image for: SCTP over UDP in the Linux kernel.
Article

eBPF application development: Beyond the basics

Donald Hunter +1

Explore best practices for eBPF application development on Linux, including languages and toolchains for working across multiple kernels and environments.

Featured image for: Mostly harmless: An account of pseudo-normal floating point numbers.
Article

An MIR-based JIT prototype for Ruby

Vladimir Makarov

Get insights for improving JIT (just-in-time) compiler performance for Ruby based on a GCC engineer's experience developing an MIR-based JIT prototype.

A code editor with four icons symbolizing DevOps, developers, a gear, and a cluster.
Article

Go for C++ developers: A beginner's guide

Stan Cox

This introduction to the Go programming language for C++ developers examines primary differences in development and program-building environments.

Featured image for: SCTP over UDP in the Linux kernel.
Article

Frame pointers: Untangling the unwinding

Guinevere Larsen

Explore how frame pointers can be used to unwind Linux kernel stack traces and examine different ways to obtain a backtrace, along with their pros and cons.

Featured image for Valgrind.
Article

Checking usage of realloc with Valgrind

Mark Wielaard

The realloc function in C is useful for memory management, but there are a few tricky cases to watch out for. See how Valgrind Memcheck helps find these issues.

Featured image for: Value range propagation in GCC with Project Ranger.
Article

New C features in GCC 13

Marek Polacek

The GNU Compiler Collection 13 release implemented a number of interesting features in its C front-end. This article summarizes the most interesting ones.