Skip to content
InTechnology Podcast

What That Means with Camille: oneAPI (120)

In this episode of Cyber Security Inside What That Means, Camille talks with James R. Reinders, HPC Engineer at Intel. They introduce the concept of oneAPI, why it is being developed, and what the hopes are for the future of processing and computing.

To find the transcription of this podcast, scroll to the bottom of the page.

To find more episodes of Cyber Security Inside, visit our homepage. To read more about cybersecurity topics, visit our blog

 

The views and opinions expressed are those of the guests and author and do not necessarily reflect the official policy or position of Intel Corporation.

Follow our hosts Tom Garrison @tommgarrison and Camille @morhardt.

Learn more about Intel Cybersecurity and the Intel Compute Life Cycle (CLA).

 

An Explosion of Computer Architecture: oneAPI

We are always trying to speed up our computers and create better processors. Whether that is to speed up deep learning, inferencing, video processing, or something else, the goal is usually speed. And there is an explosion of computer architecture trying to make this happen.

What oneAPI allows us to do is access an accelerator no matter what vendor it comes from or what architecture it uses. This is the goal – the “pie in the sky,” if you will.

 

James R. Reinders: The oneAPI Evangelist

Jame oneAPIJames is an HPC Engineer and oneAPI Evangelist for Intel. He joins Camille for this brief conversation on oneAPI, what it is, and why it is being developed.

See James’ LinkedIn page

Follow James on Twitter



Share on social:

Facebook
Twitter
LinkedIn
Reddit
Email

[00:00:35] Camille Morhardt: Hi, welcome to Cyber Security Inside. This is a quick take from James Reinders a High Performance Computing Engineer at Intel, and he is also a, can you say what it is? You’re a One API evangelist. Want to find out what that means? 

[00:00:52] James Reinders: Absolutely. So one of the big changes in computing–especially high performance computing–has been the diversity of processing devices–put another way, the introduction of accelerators.  So it’s not just about having a faster and faster processor, it’s often about specialty processor as a general-purpose processor maybe augmented with some capabilities on it, like vector units and then having other devices, like a GPO or an FPJ hook to it. 

Hennessy and Patterson were very famous for their computer architecture textbook, and many other things have called it as “we’re entering the new golden age of computer architecture.” By that they mean there’s just an explosion and new ideas about how you can design a processor to speed up this like inferencing or to speed up deep learning or training, or how to speed up video processing. And we see this all the time. There’s all sorts of functional units and different things. We’re really seeing the beginnings of a real explosion in computer architecture. 

So the question is how do we survive that as software engineers? (laughs) You know, I want to use all of this stuff, but gosh, if I want to do a matrix multiplier, I want to do something more complicated, how do I do that and make it applicable to all these devices?  So that when somebody shows up and says, “Hey, I’ve got a better mouse trap for you” and it gets put in my computer, can I use it? 

And there are a number of different ways of looking at this one is programming languages. So things like, uh, Sickle, which is a standard from the Cronos Group is looking at how do we make that accessible from C++.   One API, which is an industry initiative started by Intel, is looking at extending that to tooling, to libraries, to interfaces with the hardware. So, you know, so that I could write a program and access whatever accelerator there is–no matter what vendor it comes from, no matter what architecture it uses.

Now, the sounds like pie in the sky. It sounds, you know, it’s understandable if you suddenly get skeptical because you know, there’s no such thing as run everywhere–at least not run everywhere well.  But there are some very interesting things we can do. And that’s what I’m super excited about in my work and the people I work with is we’re looking at how do we take advantage of the potential of heterogeneous computing with lots of different vendors, lots of different architectures that play, uh, and make that accessible from software.

[00:03:22] Camille Morhardt: So in this case, as a software engineer, you wouldn’t have to understand how to write for every different kind of hardware that you might want to run a piece of software on? 

[00:03:32] James Reinders: That’s the ultimate goal. And it depends on what level of programming you’re doing, how much we can abstract that for you. And if you’re at lower levels, you want access to some of those differences, but you don’t want to be frustrated by all of them. And so we hope to abstract the way the, the right amount of it for whatever level your, your application’s being written at. 

[00:03:52] Camille Morhardt: That’s fascinating. One API. Thank you, James. Reinders for giving us a quick definition. What That Means: One API. 

[00:03:59] James Reinders: My pleasure. 

[00:03:59] Camille Morhardt: And if you’re interested in definitions–in depth and in brief–of other topics that are buzzing around us today in the world of tech, check out What That Means, a sub series of Cyber Security Inside.

More From