To celebrate International Women’s Day, which falls on March 8th, we hear from one of our Developer Technology Engineers, Lou Kramer.
She is starting off a new series of occasional opinion pieces here on GPUOpen, where we’ll be hearing from various people on interesting technical subjects outside our usual scope.
Read on to hear Lou tell you about the journey to her career with AMD, what she actually does in her role here, and how she finds being a woman in engineering.
Opinion - International Women's Day - Working at AMD DevTech: Graphics Cards, Chips and Games
A vehicle assembled from many scrap parts rushes through a desert landscape, followed by motorcycles and other bizarre looking cars, all in a similar industrial style. At the corner, the speed is reduced, the motorcycles catch up, and not long after they are next to the escaping vehicle. Then everything happens very fast. The followed car stops abruptly, goes into reverse and drives in the other direction. The chasers did not expect this move and before they realize what has happened, the escaping car has already gone behind a rock formation.
I know the sequence by heart, I always drive the same route on the same map. Sometimes I make a mistake and drive into the rock formation instead of around it. First person shooters and driving games are actually not my thing and I’m really bad at them! Luckily it is enough that I survive only a few seconds and don’t drive against the rocks right at the start. It’s not about playing well, it’s about playing. I want to measure the performance of the game, or more precisely the number of images per second, also called frames per second (FPS), and capture the single steps and calculations used to generate those single frames.
I am a Developer Technology Engineer at Advanced Micro Devices, Inc. (AMD), a semiconductor company that makes processors and graphics cards. In my position, I work together with video games studios to ensure their games are robust and fast on AMD graphics cards. If I explain to friends and family quickly what I do for work, often I say I am a technical consultant for game studios.
My expertise is with the GPUs at the heart of our graphics cards; I know their architecture and how an application can make the best use of it. When programming, there are always several ways to reach the same goal, but not every way is equally robust and performant. The most robust and performant way can vary between platform to platform – for example, between a console and a PC, or between graphics card and graphics card. I support game studios to find a way to make their games run in the best possible way on AMD graphics cards.
University
Even though I am a software engineer, I also need to know the basics about the hardware. Nowadays, there are many different fields in software engineering and you can choose between an immense range of things to do. I have to admit that when I started studying Informatics, I did not know what it was actually about.
I chose Informatics: Games Engineering at the technical University of Munich because I could relate to it. I knew what video games were and I liked them because they are creative, artistic, and psychologically interesting products, but are still based on technology and therefore different than products from pure art studies.
I was never good at the arts, even though I have always been interested in arts and culture – not only in the form of video games, but also in the form of movies and especially books. Mathematics never posed any problems for me, but the subject also never interested me; for me it was simply a tool, but not a subject I wanted to deal with further.
Informatics: Games Engineering seemed like a good compromise: it was a technical course, I did not need any kind of portfolio, and unlike other technical courses I could relate to it.
I was never good at the arts, even though I have always been interested in arts and culture – not only in the form of video games, but also in the form of movies and especially books. Mathematics never posed any problems for me, but the subject also never interested me; for me it was simply a tool, but not a subject I wanted to deal with further.
Informatics: Games Engineering seemed like a good compromise: it was a technical course, I did not need any kind of portfolio, and unlike other technical courses I could relate to it.
The first semester was still a small culture shock for me. In high school I had Latin, Ancient Greek, and Politics & Economics as my main subjects. I only had experience of Informatics during my exchange year in the US, where we learned a bit of programming – but that did not go beyond the fundamental basics and after a week of university I had already exceeded my previous knowledge.
My new student colleagues differed from my high school mates. At high school, there were about one third boys and two thirds girls, but now the proportion was ninety percent male students, and ten percent female students. However, this was not the actual problem. Mostly I missed the cultural topics themselves. I missed all the discussions about philosophy and history, about ethics and politics. In the first year of university, I always carried around this weird idea to – at some point – do a second study in art history.
Why did I start studying Informatics in the first place? An important factor was any future job. Running from one underpaid internship to the next did not sound very promising, and for me it was always important to stay somewhat independent. With Informatics, there is such a huge demand for professionals, or at least that is my impression so far. Most importantly, Informatics is needed nowadays in almost every field, so it’s definitely possible to change the industry. And as a last resort, if Informatics had turned out to be not my thing, I still had the possibility of changing my study subject. I did not do that in the end – and I am really glad I didn’t! I also got used to the culture shock, and nowadays I use my free time to deal with these topics. It is a great balance to my work life and helps to get the mind free.
The studies themselves were never a real problem, even though aside from the little programming introduction at high school I did not have any prior knowledge. I even think I lacked a basic knowledge of the subject itself. In the first semester, for example, I attended the course about basics in databases, without knowing what a database is. And then I was sitting in the lecture and the professor did not even think about explaining what a database is. I in turn never asked either because everyone around me seemed to know already (whether they did know or not!).
Anyway, obviously at some point during the semester I understood it. Something similar happened in other courses as well. For example, during the course about computer architecture, the single components of a computer were not explained, there was no “What is a CPU?” or “What is RAM?” Until this course I did not even know that it is quite common, at least for Informatics students, to assemble your own PC by yourself, oh well … I did not even know that it was possible! My PC at that time was a complete solution from some discount store.
However, I never felt like that the lack of up-front knowledge was a disadvantage. After all, the point of going to university was to learn all these things, right? But I guess it could turn into a disadvantage, when someone starts to feel anxious about it and thinks that because they know less than the others that they will perform worse than them. In my case, I think it was even an advantage, as I learned very early on to deal with not knowing something and to accept it, and to understand that all this stuff can be learned. In fact, when I joined AMD after university, I discovered that everyone starts basically with zero knowledge there, because the products we work with are not released yet.
Computer Graphics
At the beginning of my studies, I did not have a clear vision in my head of what I wanted to do later in my working life. I did flirt a bit with Game Design and with Game Storytelling, but at some point I had to admit that my strength is on the technical side and not in the designing side. This took quite some time though – until the end of my Bachelors degree!
During my Masters studies in Informatics: Games Engineering, I was pretty keen on pursuing a career in computer graphics – it gives you a visual result of your own work. The percentage of women there is even fewer than in general Informatics though. This could be surprising, as visual results sound less dry, but on the other hand computer graphics is also very mathematical and requires a basic spatial sense and a feeling for projections. The visual results did attract me a lot though, particularly because I do enjoy looking at nice pictures.
At the same time, computer graphics is super interesting in relation to video games: they are a major factor for new developments in this field. The visuals in video games are getting closer and closer to movies and they get more and more realistic. The requirements for games, also called real-time applications, are different than for movies. With movies there is much more time available to generate a single frame, and often many hours are used. In games, there are only a few milliseconds available. Efficiency and the optimal usage of the available resources are very important. Within these few milliseconds, it needs to be determined what we can see in the frame, how the objects are illuminated, plus the handling visual effects such as smoke, explosions, and water.
Physical concepts are used, but also many tricks and workarounds, such that the results look real, but in reality they are not physically correct. In research simulations physical correctness can be very important, but for video games the visual results and the feeling of reality is more important than actual physical correctness. The understanding of how humans perceive color is another factor to consider. Topics such as physics and biology play an important role in computer graphics, with a concrete application in mind.
The learning never stops!
For my job, I need not only to be up-to-date with the current state of technology, but also at the very forefront when it’s about future technology. AMD today is developing future graphics cards that will get released in a few years to the public market. Continuously learning is a must. There is always something new, and knowledge from a year ago can be already outdated!
To be one of the first to learn about new technology also means educating others about it. I often work in a consulting way but also in a teaching way. I have a lot of direct contact with game studios and their developers, and I help them with concrete problems, questions and projects. I also often go to conferences, give talks, and write technical articles.
For me, my job is the perfect combination of technical tasks such as programming and the analysis of games, and of social tasks such as the continuous contact with game studios, and the teaching work in the form of talks and articles.
Another major plus for me is that I go to lots of places. One of my favourite hobbies is travelling. And since I am often on business trips, I can combine this perfectly with my job. And yes, it is also just fun to work with video games – even though I am not a game tester, I still need to play the games from time to time! It’s incredible how the games change over the weeks of development, how the art style differs between the various games, and to help make sure that gamers can have the best possible player experience.
Funnily enough, and I think that this is not uncommon in the games industry, I do rarely play in my free time. When I was a student I played way more, but now it’s only sometimes with friends. After a whole working day in front of the computer I am keen to do something else in my free time.
With my current role I also have the possibility of working from home. At the beginning of my career, I was based in Munich and went daily to the office. Since then, I have relocated to Stockholm, with the support of AMD and keeping my position. In Stockholm, I am closer to the game studios I support, and I can visit them more often in person without the need to hop onto a plane each time. Since there is currently no AMD office in Stockholm, I have a home office here. The relocation to Stockholm was completely voluntary, and I consider myself very lucky to have had the choice and the possibility to do this.
Women in Engineering
The percentage of women in my field is low. As mentioned before, at the start of my studies there was around ten percent women, and the further I went on with my studies the percentage decreased. During my Masters studies, it was not unusual for me to be the only woman in a course. Now with my professional career, the number of women, especially in smaller, technical-focused events and conferences, can be countable on one hand. Most of my direct contacts from the game studios are men.
I cannot deny that it would be nice if the balance was more even. Nevertheless, I have never faced problems with acceptance so far. I am still at the very early stages of my career, but so far I have had mostly positive experiences.
Also, there are several programs to specifically support women. For example, during my studies I received three travel grants to conferences, that were targeted at women. Even today I profit from the resulting contacts and networks.
In general, I perceive the solidarity between us women in the industry as amazing, because we all know that we are in a similar position and want to help each other. So for me it doesn’t matter that it’s still a male-dominated industry, because I’ve felt very welcomed as a woman and was able to succeed.
If this kind of work really piques your interest like it did for me, then why not come and become part of this world?
- You may like to read the original German version of this article which was published on LizzyNet.de, to encourage young girls to consider a career in computer science.
- Know any young people that might be interested in a similar career? Why not share this article with them?
Lou Kramer
Some of Lou's projects at AMD
AMD FidelityFX™ Single Pass Downsampler (SPD)
AMD FidelityFX Single Pass Downsampler (SPD) provides an AMD RDNA™ architecture optimized solution for generating up to 12 MIP levels of a texture.
OCAT
If you want to know how well a game is performing on your machine in real-time with low overhead, OCAT has you covered.
Optimizing for the Radeon™ RDNA Architecture (Let’s build 2020) – YouTube link
Learn about the details of RDNA and how it differs from the previous GCN architecture. Includes examples of optimizations based on the case study of implementing an efficient downsampler. Covers topics such as characteristics of workload distribution, shader optimizations, and efficient texture access.
Porting Detroit: Become Human from PlayStation® 4 to PC – Part 2
Part 2 of this joint post between Quantic Dream and AMD looks at non-uniform resource indexing on PC and for AMD cards specifically.
Related links
Guest Posts
Since we launched GPUOpen back in 2016, we’ve had a steady flow of guest posts from, or in collaboration with, a variety of games developers.
Developer Guides
Browse our technical blogs, and find valuable advice on developing with AMD hardware, ray tracing, Vulkan®, DirectX®, Unreal Engine, and lots more.
Videos
Words not enough? How about pictures? How about moving pictures? We have some amazing videos to share with you!