Session
Schedule FOSDEM 2022
Nim Programming Language

LibVF.IO: vGPU & SR-IOV on Consumer GPUs using Nim

LibVF.IO is bringing vGPU functionality that's historically been restricted to the enterprise datacenter segment to normal consumer GPUs running free open source desktop operating systems.
D.nim
Arthur Rasmusson
<p>I'd like to showcase LibVF.IO's new LIME Runtime feature (Lime Is Mediated Emulation) and do a deep dive on open source vGPU technology in general.</p>
Some of the topics I would like to cover are the VFIO-Mdev API, the differences between Virgl vs. Hardware GPU virtualization (SR-IOV) vs. Software GPU virtualization (soft Mdev), various common GPU driver virtualization implementations (Intel i915, AMD GPU-IOV Module, and Nvidia), then talk about the benefits of hardware virtualization of GPUs for projects like Qubes OS and the ongoing effort to run LibVF.IO with Xen for use with Qubes. I'd like to share LibVF.IO's vision to bring vGPU SR-IOV functionality out of the datacenter and to most consumer devices running free software. Finally I'd like to explore what a world might look like if we're successful in bringing the benefits vGPU SR-IOV functionality to every day people running free software (native performance backwards compatibility via virtualization, hardware isolation, &amp; workload balancing).

Additional information

Type devroom

More sessions

2/5/22
Nim Programming Language
Andreas Rumpf (Araq)
D.nim
<p>This is a talk about Nim's concurrency mechanisms, how the old things worked, how the current things work and what the future holds.</p>
2/5/22
Nim Programming Language
Peter Munch-Ellingsen
D.nim
<p>This talk builds on my previous talks about micro-controller programming in Nim, and my talk on writing a keyboard firmware from scratch in Nim. It outlines how a Nim ecosystem for microcontrollers can be built with zero-cost abstractions which means that the resulting code is almost exactly the same size as pure C code (no Arduino). All this while keeping an interface which is much nicer than anything you'd find in C, maybe even better than that of high-level microprocessor coding frameworks ...
2/5/22
Nim Programming Language
Ryan Lipscombe
D.nim
<p>The entity-component-system pattern (ECS) is popular in game development for its ability to model complex dynamic simulations with mechanical sympathy, in an environment where microseconds matter.</p> <p>The pattern is focused on run time composition. Entities are mutable sets of component data types, and systems run for entities with specific sets of components. Many ECS frameworks are oriented around components or entities, and systems use run time queries or filters to match their ...
2/5/22
Nim Programming Language
Scott Wadden
D.nim
<p><a href="https://github.com/dsrw/enu">Enu</a> is a 3D live coding environment that can be used for education, exploration, and light game development. It uses a simple, logo-style Nim DSL, and aims to be accessible to as many people as possible, even those who may not yet be able to read or type. It's still fairly immature, but will eventually be suitable for implementing simple multiplayer 3D games.</p> <p>In this presentation, Enu's creator will walk through creating a simple 3D game with ...
2/5/22
Nim Programming Language
Zach Oakes
D.nim
<p>Reactive programming has become commonplace in many kinds of software, while others, including games, have been slow to adopt it. There is an idea stretching back to the 70s that enables reactive programming in an extremely general way: rules engines. This talk will demonstrate pararules, a breakthrough rules engine for Nim. It will demonstrate how games and other software can define their entire logic as a series of independent rules, and how it decouples your data much like (but more ...
2/5/22
Nim Programming Language
Ayman Al Baz
D.nim
<p>Numpy is considered the go-to library for fast performant python scientifc computing, as it is a heavily optimized scientific computing library written in C. But is it really that fast (spoiler: yes, but not when used with python)? In this talk, I will be covering a real-world example in the domain of genetics, and demonstrating how I was able to out-perform numpy code running on my intel-7700k machine with a raspberry pi running code from the Nim programming language!</p> <p>I will also be ...
2/5/22
Nim Programming Language
Andre von Houck
D.nim
<p>Metaprogramming in Nim is very powerful. But why would you use it? How is it used in the real world? We will explore the "power levels": starting from generics, continuing to templates and finally arriving at macros.</p> <p>We will first look at generics usage in VMath (Vector Math Library) and Jsony (JSON Parsing Library). Then we will continue on to templates and how they are used in VMath and Windy. Finally we will look macros, the top of the "power levels", and how they are used in Shady ...