Okay, so let me introduce the next very special talk and that's like especially for me as I'm actually a chief sticker office in the company and I was bullied into design and sticker.
But yes, our new car will guide us into water tea platform ease and like if somebody listen to my talk, this is a platform that I butcher all the time and try to use it and your new car is actually the one who builds it.
So please go ahead.
Hello everyone.
I am the one who builds it, but there are people in the zoom actually fix it.
So so hi, my name is John Luca.
This is the talk about a plastic introduction to ET platform because I just wanted to give where we can speak about the hardware and the theory as much.
I just wanted to see, this is how you get a hands-on on the project and this is how you can see what's long and see what you can fix and see what you can join.
Because first of all, I think we need to start by saying what is going to talk about.
First of all, I believe not everyone here knows what ET platform is and so we're going to define it.
Then we're going to see how to actually get the platform on your machine and run it and see what you have and what you can do.
And then we're going to get from ET platform just look up to what I found this and what I found it does and what we're up to.
Okay, about me, this slide is becoming very static and not very changing.
The two things that I've changed in the past year are number three because I joined an echo.
Number five because I had zero free time to do personal project.
Okay, so what is it the board that you see here is it is a one board is the development board that we actually use it is based on the former Esperanto it is a one which is now part of an echo and we're planning to open source everything.
The way to think about this chip and I'm going to go later on is essentially an accelerator based on circa a thousand is five calls and he has incredibly low power.
And as you can see there and be more precise you can actually have a thousand is five.
So I'm going to describe quickly the other so at least we know what we're talking about and then go back to the software you can run it.
Some people might have a sense of the job you either use this slide today.
So this is how a board looks like when when you see the board before you will quickly notice that there's this big chip on the hit sink you find the LPD are for around.
This is the pimic and that's on the top left is actually the FTDDI so what are the useful so it is a one is the big chip FTDI is the one that give you the UR to USB so actually you can check or you can control when you have the physical card the stuff.
The pimic is actually the guy who actually handled the power of the chip and you see the memory in PCA is the actual slot where you fit the card into.
So this is another I have various various graphs that I used to explain how the hardware works and none of them gives any justice to the elegance of the actual chip that is actually very uniform and made in different stuff.
But when I think about programming this chip this is the probably warp at the much that I have in my mind.
As you can see we had the PCI where you get the host.
We get a service processor that is the kind of controls of a thing.
We got the compute shares and that's where most of the thousand calls are.
We even got four out of all the CPUs and that's the last call maxions while the small shares are called minion and then you got various devices as everything goes.
The things you understand from this is that you get this huge array of CPUs that are small and in order can be programmed and there you get a service processor that control everything.
Right, so what's a minion minion is one of the many thousand CPUs that we have and essentially you can think of it as a very small this five 64 CPUs.
So you actually have machine mode supervisor mode a user mode he has various extension array interesting like as a tactical atomic see definitely have a SIMD instructions or you can do fixed parked back to extensions.
And you get actual tens of accelerators we actually do matrix multiplication.
So it's actually quite powerful and you got a thousand of them.
Right, so now that we solve how the hardware works we can actually start understanding what is it platform so it platform is a software is completely open source it is on GitHub and contains what you see here essentially contains everything to actually.
If you have a card run kernels on it runs software on this thousand CPUs or if you are if you don't have a card you can simulate it just to learn to test and to see how it works.
Ideally like going from higher level to lower level you get that on time library.
The random library is the library that actually you interface and the way you interface to run temporary is that you program.
You write a program you compile it for this small CPUs you use the random library to load it into device ram and then you tell all the CPU execute this program right now.
And of course the program can actually easily say okay if I'm CPU one I'm going to do job for CPU one and CPU two under the job for CPU two so that's the differentiation that you have simplifying.
The other things you'll find in it platform is the device layer which is the thing that abstract the mechanism to have a device.
And these allow us to run the same software for the computer file but then a simulator that you can just run in your computer and the actual hardware that's going to use our Linux server.
And as I said this is on GitHub.
This is the software that you will find as I said you're going to find the runtime library to device layer the simulator you don't see either but also the firmware.
And this is what's funny you will actually run the simulator the firmware simulated so you can actually even test the simulator for this very complex machine.
And of course everything is open source right so.
This is what I wanted to do today I wanted to be very precise on how to actually get clone compile and run.
First of all I went the hard way because it's actually a Docker build but there was two short of the slides so I decided to actually use the full thing.
It's definitely a Docker file you definitely can look at I found the read me for for that but anyway the first step to actually compile everything you need the gcc tool chain for the device they have particular extension.
And this is the step as you can see is usually this five new tool chain which is a very common way to deploy this file tool chain in the window.
I now it doesn't work but we're going to fix it by the end of the week.
It's not all problem is upstream.
So yes you're going to clone the this file tool chain and then this is essentially.
I'm assuming you're going to 24 or four but there are people that are being able to build and install this on Arc Linux and in other.
Distribution but Linux is necessary there are patches to build this on macOS but that off branch so far.
So essentially yeah you build these are the usual things required to build gcc you configure and you build you configure and make and then you will actually have.
Installing opportunity as you can see.
The full tool chain for minion that's all you need to do.
Once you do the tool chain you can start compiling gcc platform because you can start compiling the firmware.
And sorry the first line is long this slides are very fresh.
So the first thing you need to do then is you have to need to clone it platform.
And as I read me that I explained even how to run with Docker but you get the dependency and then it's just a very normal see make and build.
The general things that is different is I need to tell him where to find the tool chain and we just installed it in.
But that's pretty much it.
So moment you do this you actually gonna have everything that I discovered before.
Including the simulator and everything but that's small because once you compile what you can do well.
You can run tests.
If you do an opportunity then you will find a lot of tests that actually stress the simulator.
But if you just add dash dash mode equal PCIe.
You actually gonna run this test test on the card if you'd like it to have one.
And actually the one that says something about how to access the card later.
Exciting things.
Those are full simulator already built and installed.
And it's essential to call the model for us.
And you will find it there.
I will tell you later how to run stuff on it.
If you're interested in the full model, share runs on the real card.
You will find it in an opportunity, be a sperant of firmware.
And you can modify and compile it and test it on the simulator.
Right.
So what else can you do?
Well, there's definitely an example kernel which is usually very interesting to run with simulator just to see what happened.
So you can just do it in the platforms of the same examples.
You type a make and we should probably fix the make file.
But you will actually find it is a quanta self in this directory in the build directory.
And once you have that, you can actually run the simulator with this.
And you actually see every single instruction and the register that it changed and now it works.
So this is actually how you learn to do this.
And that's actually how you can actually experiment, modify and experiment the test to see where it is.
But you want to see actual kernels.
And even like if the simple but we actually have a port with lmcpp, that is a basic port.
But it has a lot of kernels that actually work in order to be able to run the model.
You can actually just, you know, have found it has this.
You can just go to find the lmcpp, you can just get lmcpp and actually find
in the gmail structure in it, gmail it.
You're going to find the kernels.
You can actually see how this can actually be used in a proper system.
You see this is 80 soquan all well not at all because we are very open company.
And actually, 80 plus term has already the simulator support for lmum,
which is the next chip.
And so when you actually build a dipl safer, we would be a Servicator.
One is Cimum.
For it is 1 year old, your days for lmum.
And lm is the next chip.
And you can actually even run lm test.
Now, of course, what is lmum?
You will expect a slide for me, but I didn't do any.
doing it because, actually, the whole spec, while we're developing the chip, is already
there.
So, actually, go there and even get the reference panel directly from the hardware
engineer working on it.
So, this is the basics and the question is, how can you join?
Because there's a lot going on with very open, and this is, this gets everyone from people
working on MSEPP and AI on Accelerator based on this five to actually people interested
in to see how does a film of work and hardware handle, and we say, yeah, well, we have this
code.
If you actually go to getup.com, I found it or told, you're a fan of this code in
right.
You should join us.
Honestly, it's very hard to keep up with the average intelligence of the people
I feel very stupid, but that's my life.
It's actually very interesting, there's discussion going on from compiler technology
to whatever new is happening in the world of AI to how do I fix the links to people
suggesting artifacts, kernel drivers, and everything else.
And the results are not the important thing, every Tuesday, I think local time is 5pm.
We actually have an ET platform calling, which you'll find a lot of an echo and other
engineers just joining and discussing about technology, what's our plan, what's happening
in the process, and what can people can help, what people are doing, and it's a completely
open-source project, it's completely open, and you'll learn a lot just by being there
at least I did.
And yes, so you actually can go to the event calendar in this code and you'll say it.
And as I said, when we said the ET platform is open, so we actually mean it.
That's it for me, other any question.
Please.
I have a question, is there a new Airbnb platform on the chip of the RBA in 23?
No, absolutely no.
So the question is, is the new Airbnb chip at V8 when you take a compatible, absolutely
not?
That's why I linked the spec.
No, the new Airbnb chip is actually, if you see the way the technical is called a neighborhood.
So essentially, 8 of this minion, we don't the thing, so it's still like the same architecture,
with some Lata fixed cylinder, and then 24 megabytes of memory, and then it's actually
going to have a dual-modal operation when it's as small microcontroller, so it's on GPIO,
what SPI, what if things, or as I've lived a while, it actually has octopi-pulbats interface
for memory.
So there will be a smart memory within and of compute.
Please.
Yes.
We do have, we do have the advert, the chip exists, you saw the picture, right?
We do, so the way it works is that, that way we're not selling it, so far, we do have access
for the community, for people that are involved in community, can actually SSH to machine
in San Francisco, hopefully we're going to bring it on the other side of Atlantic, and it's
part of the community access to architecture experiment.
So it doesn't include, those the emulator include performance models, is definitely an emulator
that was used both to simulate correctly, but if you see the dash L that I add, you have
to get the place used by DV, so actually you can see clock by clock how it changed.
It's not clocked, so let me say, it's not cycle accurate, but it's mostly a way to actually
measure that the behavior of the shape is exactly the same as the behavior of the thing.
So there was, my question is, should it make silver as a chip with 90,000 colours?
Yeah.
We're not building nannanded, of course, sorry, no, no, no, how many colours?
Yeah, we're not building nannanded, there's some colours, so.
Well, now we're starting by eight, and then we'll go, goly.
No, it's up to, what do we want to go?
Essentially, this is probably the city always better equipped to answer that question, but
I can, if you want, we're going for inference, we're going for the middle market.
I'm actually here for the blinking lights, so you can speak with them.
I like to say that I'm here for the blinking light enough for the business, because I prefer
to talk about problems that actual selling something, so anyone else, please?
That's a very good question, I should, as I said, is a simple port.
So the question is, what are the performance of LMSVP on it is a one?
They can go very well, the chip is definitely fast.
LMSVP is not, because this was a demo for us to show that we use the LMSVP as a way
to show anyone's quite other the time, talk to you, show that the softest stack we were building
actually could compile and work on the L card.
So LMSVP was actually a way for us to not only learn, but also see that using the highest
possible levels of the stack we could actually work it.
It's quite interesting, because if you see how the currency works, we actually wanted
to test the fact that this was a CPU, because this was CPUs, the non-dax accelerators,
right?
So we actually wrote it like we wrote C and just wrote, because we wanted to be sure
of that.
There are effort in the community and people are happy to join that actually, there's
definitely an effort going on right now for actually writing up to my screen and then of course
we started from math pool.
Anyone else?
I think we're done.