WEBVTT

00:00.000 --> 00:08.000
I have to go and find a broomstick.

00:08.000 --> 00:14.000
Oh, I can't.

00:14.000 --> 00:15.000
Okay.

00:15.000 --> 00:17.000
So, good afternoon, everybody.

00:17.000 --> 00:19.000
We have to really nice and professional presentations.

00:19.000 --> 00:21.000
But I have 40's light in 20 minutes.

00:21.000 --> 00:24.000
So, I would say to people,

00:24.000 --> 00:28.000
I'm a Spanish. I can't talk really fast if I propose to them.

00:28.000 --> 00:30.000
So, my name is Elena Vella.

00:30.000 --> 00:33.000
I work for Dwighty now, but that doesn't really matter right now.

00:33.000 --> 00:35.000
I'm here to represent easy,

00:35.000 --> 00:37.000
and I'm going to make you an status update

00:37.000 --> 00:40.000
on the European environment for scientific software installations.

00:40.000 --> 00:41.000
Who?

00:41.000 --> 00:43.000
Status update since when?

00:43.000 --> 00:47.000
Well, we presented it for the very first time here at the foster five years ago

00:47.000 --> 00:49.000
by a work colleague, Bob,

00:49.000 --> 00:52.000
and he presented easy one scientific software stack

00:52.000 --> 00:53.000
to rule the mall,

00:53.000 --> 00:57.000
and I hope to keep you convincing about that after all this presentation.

00:58.000 --> 01:01.000
So, what do we want with easy calibration test?

01:01.000 --> 01:05.000
How many of you actually work in each PC?

01:05.000 --> 01:06.000
Okay.

01:06.000 --> 01:08.000
I don't have to over explain.

01:08.000 --> 01:10.000
What we want with easy is to provide

01:10.000 --> 01:12.000
a truly uniform software stack,

01:12.000 --> 01:15.000
and that means that you will find the exact same software everywhere

01:15.000 --> 01:17.000
without sacrificing performance,

01:17.000 --> 01:19.000
because we are doing hyperformance computing,

01:19.000 --> 01:23.000
and I want to think that the work performance actually means something.

01:23.000 --> 01:26.000
And you know that if you compile a binary for everything,

01:26.000 --> 01:29.000
it usually doesn't work that well in performance-wise.

01:29.000 --> 01:31.000
And to avoid duplicate work,

01:31.000 --> 01:33.000
because we are all in these together,

01:33.000 --> 01:34.000
we are researchers,

01:34.000 --> 01:35.000
we are users,

01:35.000 --> 01:36.000
we are user supports,

01:36.000 --> 01:37.000
we are system administrators,

01:37.000 --> 01:42.000
that we have to install the exact same thing everywhere in Europe,

01:42.000 --> 01:44.000
and it's just not practical.

01:44.000 --> 01:45.000
So, we have to,

01:45.000 --> 01:47.000
like easy wheel and spark that help us doing that,

01:47.000 --> 01:49.000
but at some point it's not enough,

01:49.000 --> 01:51.000
because you can share your easy wheel recipe with somebody,

01:51.000 --> 01:53.000
and it just won't work for them.

01:53.000 --> 01:55.000
So, we are not just sharing how to build them,

01:55.000 --> 01:57.000
we are sharing directly the binaries,

01:57.000 --> 02:01.000
and we are working all together into a shared software stack.

02:01.000 --> 02:03.000
And this way we facilitate HPC training,

02:03.000 --> 02:06.000
the development of scientific software about modern data.

02:06.000 --> 02:08.000
And with this,

02:08.000 --> 02:09.000
I go to the demo,

02:09.000 --> 02:10.000
I hope to.

02:10.000 --> 02:12.000
Maybe can it help?

02:12.000 --> 02:15.000
Okay, so this is my laptop.

02:15.000 --> 02:17.000
As we are at the first them,

02:17.000 --> 02:21.000
I feel obligated to say that Ubuntu is not my preferred choice.

02:21.000 --> 02:24.000
It's a company policy.

02:25.000 --> 02:27.000
So, you can see it's an Intel machine,

02:27.000 --> 02:29.000
nothing fancy here,

02:29.000 --> 02:33.000
if it's an Ubuntu, right?

02:33.000 --> 02:35.000
So, nothing super fancy,

02:35.000 --> 02:36.000
if I know too,

02:36.000 --> 02:37.000
oh, also,

02:37.000 --> 02:38.000
if I do a modular wheel,

02:38.000 --> 02:39.000
I have a lot installed,

02:39.000 --> 02:41.000
because it's a dependency of easy wheel,

02:41.000 --> 02:43.000
but not because I'm actually installing things here.

02:43.000 --> 02:45.000
So, if I do now a source,

02:45.000 --> 02:46.000
this is script,

02:46.000 --> 02:49.000
which is the easy in-evaliation script,

02:49.000 --> 02:52.000
magic will happen if adorone allows us.

02:53.000 --> 02:54.000
Okay, this is expected,

02:54.000 --> 02:57.000
because my installation is a bit broken,

02:57.000 --> 03:00.000
but if I do modular load,

03:00.000 --> 03:01.000
this thing,

03:02.000 --> 03:04.000
magic happens,

03:04.000 --> 03:07.000
and now we have all of these software stack available for me.

03:07.000 --> 03:10.000
And you can actually load things,

03:10.000 --> 03:12.000
and use them,

03:12.000 --> 03:13.000
like Romox,

03:13.000 --> 03:16.000
if I know the memory access help,

03:16.000 --> 03:18.000
it just works, right?

03:18.000 --> 03:20.000
And the same thing,

03:21.000 --> 03:23.000
if this is a development environment,

03:23.000 --> 03:25.000
we have in our company,

03:25.000 --> 03:26.000
also again,

03:26.000 --> 03:27.000
in-term machine,

03:27.000 --> 03:29.000
but this is a,

03:29.000 --> 03:32.000
this is a rocky Linux,

03:32.000 --> 03:35.000
so better choice of operating system there,

03:35.000 --> 03:36.000
if I know again,

03:36.000 --> 03:37.000
okay,

03:37.000 --> 03:39.000
if I do modular wheel,

03:39.000 --> 03:41.000
not even almoded here installed,

03:41.000 --> 03:43.000
and if I now do,

03:43.000 --> 03:45.000
the source of the script,

03:46.000 --> 03:48.000
okay,

03:48.000 --> 03:51.000
it actually picks more things here.

03:51.000 --> 03:53.000
I don't know what's happening with my local installation,

03:53.000 --> 03:54.000
but okay,

03:54.000 --> 03:56.000
you will see that it detects the architecture,

03:56.000 --> 03:58.000
that it's an inter-machine,

03:58.000 --> 03:59.000
and also the micro architecture.

03:59.000 --> 04:01.000
In my now-do modular wheel,

04:01.000 --> 04:05.000
we have the same software stack in both of the machines,

04:05.000 --> 04:07.000
and now I come back here,

04:07.000 --> 04:09.000
and thank you, can it?

04:09.000 --> 04:12.000
Okay, this is the backup in case it didn't work,

04:12.000 --> 04:14.000
but it worked, so I'm going up.

04:14.000 --> 04:15.000
It looks like magic,

04:15.000 --> 04:16.000
but it works,

04:16.000 --> 04:17.000
and you have seen it,

04:17.000 --> 04:18.000
and this is the way it works.

04:18.000 --> 04:21.000
So, it's like a layer design,

04:21.000 --> 04:23.000
you have your machine,

04:23.000 --> 04:24.000
architecture underneath,

04:24.000 --> 04:25.000
it can be anything,

04:25.000 --> 04:27.000
from IntelliMD,

04:27.000 --> 04:28.000
RM and Rix5,

04:28.000 --> 04:29.000
yes,

04:29.000 --> 04:31.000
it's that possible, it works too.

04:31.000 --> 04:32.000
And on top of that,

04:32.000 --> 04:34.000
you have the host operating system,

04:34.000 --> 04:36.000
which is the one providing the,

04:36.000 --> 04:37.000
the drivers,

04:37.000 --> 04:38.000
that can be GPU,

04:38.000 --> 04:40.000
network,

04:40.000 --> 04:41.000
whatever,

04:41.000 --> 04:42.000
also the resource manager,

04:42.000 --> 04:43.000
usually is the norm,

04:43.000 --> 04:44.000
and then on top of that,

04:44.000 --> 04:45.000
you have the file system,

04:45.000 --> 04:46.000
the year,

04:46.000 --> 04:47.000
which is Serenbe MFS,

04:47.000 --> 04:48.000
which is another open source project,

04:48.000 --> 04:50.000
we have developers right here,

04:50.000 --> 04:52.000
who do us something to them.

04:52.000 --> 04:54.000
This is the infrastructure,

04:54.000 --> 04:56.000
to distribute the binary,

04:56.000 --> 04:58.000
not the binary themselves.

04:58.000 --> 04:59.000
And then on top of that,

04:59.000 --> 05:01.000
we have the compatibility layer,

05:01.000 --> 05:02.000
I hope that with this audience,

05:02.000 --> 05:04.000
I don't have to introduce what is it can do,

05:04.000 --> 05:05.000
but basically,

05:05.000 --> 05:07.000
you call Instality in a particular prefix,

05:07.000 --> 05:09.000
and so it's like you have a container

05:09.000 --> 05:10.000
without being a container,

05:10.000 --> 05:11.000
and now,

05:11.000 --> 05:12.000
all the software installations,

05:12.000 --> 05:13.000
we do in the software layer,

05:13.000 --> 05:14.000
these are the binaries,

05:14.000 --> 05:16.000
they all point to this compatibility layer,

05:16.000 --> 05:19.000
so you make sure that all the GLFC,

05:19.000 --> 05:21.000
is the same one,

05:21.000 --> 05:24.000
and that's how we make it to work for every operating system,

05:24.000 --> 05:26.000
and machine in the universe,

05:26.000 --> 05:27.000
probably.

05:27.000 --> 05:29.000
And we build this software with easy build,

05:29.000 --> 05:30.000
of course,

05:30.000 --> 05:31.000
L mod,

05:31.000 --> 05:32.000
and then there's ARX spec,

05:32.000 --> 05:34.000
which is this library that helps us detect what's underneath.

05:34.000 --> 05:38.000
And we test all of these thoroughly through refame.

05:39.000 --> 05:42.000
This is the infrastructure we have,

05:42.000 --> 05:43.000
to distribute the vanities,

05:43.000 --> 05:46.000
it's all hosted in the University of Ukraine,

05:46.000 --> 05:50.000
and then it's replicated through various servers,

05:50.000 --> 05:53.000
in Europe, US, East, and US,

05:53.000 --> 05:57.000
and anyone in the UK, I didn't know about it since this morning.

05:57.000 --> 06:00.000
And basically, everybody who has easy install,

06:00.000 --> 06:03.000
goes to fetch that there onto our top proxy.

06:03.000 --> 06:05.000
So you can see everything is in Europe,

06:05.000 --> 06:08.000
everything is nice, and trustworthy.

06:08.000 --> 06:11.000
Okay, this is not going to be an actual demo,

06:11.000 --> 06:12.000
just to show you that,

06:12.000 --> 06:14.000
you can install it.

06:14.000 --> 06:19.000
With this very simple, easy commands,

06:19.000 --> 06:21.000
the thing here is that,

06:21.000 --> 06:24.000
obviously, you need to be the administrator of the machine

06:24.000 --> 06:25.000
to be able to install it,

06:25.000 --> 06:27.000
which if it's on my laptop,

06:27.000 --> 06:28.000
it's not a problem,

06:28.000 --> 06:29.000
but if it's in HPC cluster,

06:29.000 --> 06:31.000
you will probably have to fight a lot of people

06:31.000 --> 06:32.000
to get this installed.

06:33.000 --> 06:36.000
So, what if we don't have this privilege,

06:36.000 --> 06:38.000
there are many, many ways to install,

06:38.000 --> 06:39.000
well, to access easy,

06:39.000 --> 06:41.000
you can do it through a container,

06:41.000 --> 06:42.000
you can do it through,

06:42.000 --> 06:44.000
to be my physics,

06:44.000 --> 06:46.000
which is provided by the same file system,

06:46.000 --> 06:47.000
and some other tools,

06:47.000 --> 06:49.000
I could be and I were talking about them,

06:49.000 --> 06:52.000
but you have the link in our documentation.

06:52.000 --> 06:53.000
So there are ways,

06:53.000 --> 06:54.000
there are ways.

06:54.000 --> 06:56.000
Even if you have access to a cluster,

06:56.000 --> 06:57.000
but maybe the computer knows

06:57.000 --> 06:59.000
don't have internet of things like that.

07:00.000 --> 07:02.000
So now, the actual new releases and developments,

07:02.000 --> 07:03.000
we have been doing.

07:03.000 --> 07:05.000
So, when we presented the project,

07:05.000 --> 07:06.000
it was a pilot,

07:06.000 --> 07:07.000
the pilot of this year,

07:07.000 --> 07:09.000
your repository died already,

07:09.000 --> 07:12.000
and the production ones are the software,

07:12.000 --> 07:13.000
the DC.io,

07:13.000 --> 07:16.000
and the default one has been in 2023,

07:16.000 --> 07:18.000
the one we released then,

07:18.000 --> 07:22.000
and it has more than 1,000 software packages installed,

07:22.000 --> 07:23.000
that's per target,

07:23.000 --> 07:27.000
that means that the total it's 16,000,

07:28.000 --> 07:30.000
but it's a bit already,

07:30.000 --> 07:33.000
the software that's in there,

07:33.000 --> 07:37.000
it's compiled with GGC up to 12.4.

07:37.000 --> 07:39.000
So now we're working on the new release,

07:39.000 --> 07:41.000
the 2025 one,

07:41.000 --> 07:42.000
it's already available,

07:42.000 --> 07:45.000
it has already 500 software installed,

07:45.000 --> 07:50.000
that means 7,000 in total,

07:50.000 --> 07:54.000
and it's everything compiled with GGC 13 up.

07:55.000 --> 07:57.000
And then we have the dev.easy.io,

07:57.000 --> 07:59.000
that's the developer one,

07:59.000 --> 08:01.000
but I will talk more about it later,

08:01.000 --> 08:03.000
and we have the risk five one,

08:03.000 --> 08:06.000
which it was for the risk five software,

08:06.000 --> 08:08.000
but it kind of died,

08:08.000 --> 08:10.000
it was sort of a developer one,

08:10.000 --> 08:12.000
so more about the later.

08:12.000 --> 08:14.000
This is the evolution of the software window,

08:14.000 --> 08:17.000
you can see we have been doing quite a steady progress,

08:17.000 --> 08:20.000
this is for the old stack,

08:20.000 --> 08:22.000
and this is for the new one,

08:22.000 --> 08:24.000
so I hope we can reach soon the number of installation,

08:24.000 --> 08:26.000
we had in the default one.

08:26.000 --> 08:28.000
And this is a nice good thing with it,

08:28.000 --> 08:32.000
like I worked with the software we have installed in easy,

08:32.000 --> 08:34.000
you can see we will love easy build,

08:34.000 --> 08:36.000
we hide the software we have more versions of,

08:36.000 --> 08:40.000
but it features other superstars of scientific computing,

08:40.000 --> 08:42.000
like MPI, Python,

08:42.000 --> 08:44.000
I want to say,

08:44.000 --> 08:46.000
but it's here,

08:46.000 --> 08:48.000
you know,

08:48.000 --> 08:50.000
all these tiny kind of packages,

08:50.000 --> 08:53.000
because it's not only big scientific software installations,

08:53.000 --> 08:55.000
but it also has a lot of panels

08:55.000 --> 09:11.000
like Python,

09:11.000 --> 09:16.120
now we feature much more modern and nicer architectures.

09:16.120 --> 09:18.680
And it's really important that we support as many of them

09:18.680 --> 09:23.240
possible because the plan is to support all the machines

09:23.240 --> 09:25.680
already available and in the future in UHPC.

09:25.680 --> 09:29.480
And who knows about UHPC a whole lot of you.

09:29.480 --> 09:33.560
Because then a work from our sponsor is that UHPC

09:33.560 --> 09:36.840
it's like the father project that gives money to all of us.

09:36.840 --> 09:39.720
And especially to countries to put their own super computers

09:39.720 --> 09:44.040
and also to the projects we work.

09:44.040 --> 09:47.760
This being said, whatever the GPUs,

09:47.760 --> 09:49.560
well, the support is in there.

09:49.560 --> 09:52.000
But it's a bit complicated, you know,

09:52.000 --> 09:54.280
because Kuda has a license that doesn't allow us

09:54.280 --> 09:56.640
to redistribute it, obviously.

09:56.640 --> 09:59.600
So we had put two helper scripts

09:59.600 --> 10:02.320
to help you like fetch the Kuda from the system

10:02.320 --> 10:05.720
and inject it into easy so we can find it.

10:05.720 --> 10:09.440
And we have actually Kuda enabled software in easy

10:09.440 --> 10:13.560
like Kuda samples, Gromax, Express, blah, blah, blah, blah.

10:13.560 --> 10:18.000
And it doesn't tend to flow, I'm quite sure they are there, right?

10:18.000 --> 10:19.280
No, okay.

10:19.280 --> 10:20.480
But I've seen issues.

10:20.480 --> 10:21.960
So, okay.

10:24.160 --> 10:27.120
So this is complicated, but we are working on them.

10:27.120 --> 10:30.640
And about AMD, it's also working progress.

10:30.640 --> 10:33.120
And it's nice because you can have combinations

10:33.120 --> 10:36.440
of AMD CPUs with Nvidia GPUs.

10:36.440 --> 10:39.840
And it does not only support a wide range of CPUs,

10:39.840 --> 10:42.040
architectures, but also like the interconnect

10:42.040 --> 10:45.440
through the machine, like in feedback.

10:45.440 --> 10:49.880
And as I said, the goal is to support all of the UREG PC systems,

10:49.880 --> 10:52.120
present and future, because for example,

10:52.120 --> 10:54.120
Jupiter, it's not in production yet,

10:54.120 --> 10:56.520
but we build all the software for the Nvidia graces.

10:56.520 --> 10:59.920
So easy will be there with a less of a ready for one.

10:59.920 --> 11:02.120
The machine is in production.

11:02.120 --> 11:05.680
Something that also got a lot of love and attention

11:05.680 --> 11:08.240
and it's the build test deploy bot.

11:08.240 --> 11:10.120
And this is the whole CI infrastructure.

11:10.120 --> 11:12.000
We have four adding software to easy,

11:12.000 --> 11:13.640
like UREG, PPR, too easy.

11:13.640 --> 11:16.760
And this bot will start, well, we command the bot

11:16.760 --> 11:19.080
to start to build for all the targets we have.

11:19.080 --> 11:21.800
The bot will build them, it will test them,

11:21.800 --> 11:23.280
because it's important to us.

11:23.280 --> 11:25.840
And if everything is okay, the bot will also deploy it

11:25.840 --> 11:28.360
into the repository.

11:28.360 --> 11:31.800
And it's a lot of runners running into a lot of machines

11:31.800 --> 11:34.920
that can be each basic clusters that can be cloud environment.

11:34.920 --> 11:39.920
Also, yeah, sorry, I got the tracking mentally.

11:43.720 --> 11:46.440
But it's important to note that the bot

11:46.440 --> 11:48.880
doesn't obey to everybody.

11:48.880 --> 11:52.640
It's really important to be secure so it only.

11:52.640 --> 11:54.840
So if you open a PR, you cannot do this.

11:54.840 --> 11:57.120
We need to do it.

11:57.120 --> 11:59.560
OK, so I said software testing is really important,

11:59.560 --> 12:00.760
part of easy.

12:00.760 --> 12:04.320
So easy will, but it does its own sanity checks,

12:04.320 --> 12:06.480
but we also do a lot of regression testing

12:06.480 --> 12:07.800
through the test suite.

12:07.800 --> 12:11.000
And that's a lot of different tests running constantly

12:11.000 --> 12:13.160
in different infrastructures.

12:13.160 --> 12:15.360
It can be like, it's basic clusters we have access to,

12:15.360 --> 12:19.440
but it can also be like VMs or cloud machines.

12:19.440 --> 12:23.720
And it's better to show you also, but I can manage.

12:23.720 --> 12:26.200
I can manage, I can manage.

12:26.200 --> 12:27.440
This is dashboard that is easy.

12:27.440 --> 12:30.080
I know you can select the benchmark you want to run,

12:30.080 --> 12:32.280
but that you want to see the data off.

12:32.280 --> 12:37.800
And you have this bulk kind of painting here.

12:37.800 --> 12:40.320
But so you can see like, this is for grammar,

12:40.320 --> 12:42.400
but maybe for something else, like TensorFlow,

12:42.400 --> 12:46.600
we can see better if it loads.

12:46.600 --> 12:48.840
Well, anyway, any point, it's like the result

12:48.840 --> 12:51.520
of that benchmark for that day in that machine

12:51.520 --> 12:53.800
in particular, and you can see how much it took.

12:53.800 --> 12:55.400
And this is not actually a scalability thing.

12:55.400 --> 12:56.600
This is like a performance thing.

12:56.600 --> 12:59.280
So the flatter the better that means that all your machines

12:59.280 --> 13:01.080
is running fine, you have no surprises.

13:01.080 --> 13:05.160
No, no, no, no, your notes, it's sheety or dying.

13:08.440 --> 13:09.240
So it's really nice.

13:09.240 --> 13:11.200
And you can obviously filter out of this mess,

13:11.200 --> 13:14.200
so you can see it properly.

13:14.200 --> 13:18.200
And going back, OK.

13:18.200 --> 13:20.400
This is what I just said.

13:20.400 --> 13:23.400
And it's also, we also accept new systems.

13:23.400 --> 13:24.920
So if you are interested in two days,

13:24.920 --> 13:28.320
constant benchmarking, please let us know.

13:28.320 --> 13:30.440
Also, of course, it's an open-source thing.

13:30.440 --> 13:32.240
You can open a PR in case you want to see

13:32.240 --> 13:34.560
some software added to it.

13:34.560 --> 13:36.120
We have a contributing policy, though,

13:36.120 --> 13:38.200
so we ensure some quality.

13:38.200 --> 13:42.040
And what if you want to build on top of this,

13:42.040 --> 13:43.400
but you don't want to contribute to it,

13:43.400 --> 13:45.560
that's also pretty valid.

13:45.560 --> 13:49.040
You can do it with easy build or throwing yourself

13:49.040 --> 13:52.520
into the void and risking to compile it manually.

13:52.520 --> 13:53.920
So with easy build, it's really easy.

13:53.920 --> 13:56.240
You just do module load easy extent.

13:56.240 --> 13:59.200
And the environment will be set to you

13:59.200 --> 14:01.400
to just start building with easy build.

14:01.400 --> 14:03.960
And if not, you can load the built-in module

14:03.960 --> 14:06.440
and that with load air-path wrappers

14:06.440 --> 14:08.480
and all the weird flags you have to set

14:08.480 --> 14:12.560
like black, black, blah, blah, blah, blah, blah.

14:12.560 --> 14:14.880
But we didn't test this too much, OK.

14:14.880 --> 14:17.000
So in case somebody, if you want to try it

14:17.000 --> 14:21.880
and give us feedback, then it's also really valuable for us.

14:21.880 --> 14:24.600
And what about if I want to build to use a spark

14:24.600 --> 14:28.160
on top of easy, that goes later?

14:28.160 --> 14:32.480
Now, that is easy, that is the development repository.

14:32.480 --> 14:35.120
And it's really nice, because probably,

14:35.120 --> 14:38.480
most of you are developers, you have to test your code

14:38.480 --> 14:44.440
in a lot of your HPC machines, or maybe just different machines.

14:44.440 --> 14:45.720
You can start front-commit.

14:45.720 --> 14:47.520
You can start patches.

14:47.520 --> 14:49.680
It's not meant to be in production.

14:49.680 --> 14:52.360
You can also skip CPU targets if you're not really interested

14:52.360 --> 14:54.120
into testing there.

14:54.120 --> 14:56.480
And it has just some different folders structure,

14:56.480 --> 14:59.880
so you can put many versions.

14:59.880 --> 15:04.080
So it's really, really nice, because you want to test your software.

15:04.080 --> 15:05.840
You just push it into easy.

15:05.840 --> 15:07.960
And in some minutes, I was whatever.

15:07.960 --> 15:10.120
You will have it already available in a wide range

15:10.120 --> 15:12.880
of machines to test it.

15:12.880 --> 15:15.320
And for the moment, it's only available with the code.

15:15.320 --> 15:17.280
We have within the multi-scale project,

15:17.280 --> 15:19.320
which is the one that gives money to us

15:19.320 --> 15:20.920
to develop all of this.

15:20.920 --> 15:26.160
But maybe in the future, we accept more.

15:26.920 --> 15:29.840
Also, further integrations, and I will speed run these

15:29.840 --> 15:32.280
because I have only five minutes.

15:32.280 --> 15:33.280
This is what I said before.

15:33.280 --> 15:35.960
The aim is to have them in all the year-to-year machine.

15:35.960 --> 15:39.080
We have them in the Caliomare, Nostromio,

15:39.080 --> 15:42.960
Nardo, disco, Verde, Carolina, Vega, and Jupyterie

15:42.960 --> 15:45.840
will be available since then, one, and then in Lumi,

15:45.840 --> 15:48.160
and Meloxin and the working progress.

15:48.160 --> 15:49.760
So a good job for the moment.

15:49.760 --> 15:53.000
But thankfully, to the European Federation platform,

15:53.000 --> 15:54.840
which I don't have time to explain,

15:54.840 --> 15:56.480
is it will be the official software stack

15:56.480 --> 15:58.240
for the Eurich PC machines.

15:58.240 --> 16:00.440
If you want to know more, there's a series of webinars

16:00.440 --> 16:01.520
starting next week.

16:01.520 --> 16:05.080
You can attend them for free, just register,

16:06.360 --> 16:08.920
or ask me later about what it is.

16:08.920 --> 16:12.320
Also, is it has been integrated in the European Open Science Cloud

16:12.320 --> 16:13.840
that's another kind of computer source?

16:13.840 --> 16:16.000
As you can have if you're a searcher in Europe,

16:16.000 --> 16:17.640
is it just there?

16:17.640 --> 16:19.680
Actually, don't know much about this one,

16:19.680 --> 16:20.840
because I haven't used it.

16:20.840 --> 16:24.040
And then, how we have easy now inside open on demand,

16:24.040 --> 16:26.440
which is a web desktop-based application,

16:26.440 --> 16:30.720
it makes HPC access really easy for new ways.

16:30.720 --> 16:31.720
And super, super nice.

16:31.720 --> 16:33.640
I could be also now, we're talking about how great

16:33.640 --> 16:35.320
open on the money, but we don't have the time.

16:35.320 --> 16:38.240
So if you want to know more, just ask me.

16:38.240 --> 16:41.080
Later, and now, Spark.

16:41.080 --> 16:44.280
So not only running kali every time I give this presentation,

16:44.280 --> 16:46.120
somebody asked me about Spark,

16:46.120 --> 16:49.320
so at some point we started working about building

16:49.320 --> 16:50.920
with Spark on top of easy.

16:50.920 --> 16:52.720
And it kind of works.

16:52.720 --> 16:54.760
Now, we have a proof of concept in our blog.

16:54.760 --> 16:57.720
You can visit it yourselves and read through it,

16:57.720 --> 17:01.760
because this is also a talk worth an hour.

17:01.760 --> 17:03.240
But there's the working progress.

17:03.240 --> 17:05.040
It's coming numbers.

17:05.040 --> 17:07.600
And our training is in this administration.

17:07.600 --> 17:11.240
We always find that people doesn't know us very much.

17:11.240 --> 17:14.320
So we have been asking our asses to talk about easy

17:14.320 --> 17:16.000
and spread the word everywhere.

17:16.000 --> 17:17.720
And one really nice thing you can attend

17:17.720 --> 17:18.720
is the happy hours.

17:18.720 --> 17:21.840
It's every Monday from 2, 2, 3.

17:21.840 --> 17:23.320
It's be a Zoom.

17:23.320 --> 17:25.920
We just give some, we talk about easy,

17:25.920 --> 17:28.800
some late, some topics, some updates.

17:28.800 --> 17:31.760
And then we just have an open discussion.

17:31.760 --> 17:33.080
They're also bloated in YouTube,

17:33.080 --> 17:37.440
if you want to see them for more sessions, I mean.

17:37.440 --> 17:40.280
Also, webinar series, we have done this one last year,

17:40.280 --> 17:41.800
and we plan to do another one this year.

17:41.800 --> 17:44.400
So you can deep dive into the topics of easy.

17:44.400 --> 17:46.160
There are quite some of them.

17:46.160 --> 17:48.080
And they are really like long videos.

17:48.080 --> 17:50.800
They are also in YouTube.

17:50.800 --> 17:52.640
Also, we have, as I said, I have,

17:52.640 --> 17:54.960
we have traveled the world and the seven seas

17:54.960 --> 17:56.240
to spread the word of easy.

17:56.240 --> 17:58.000
This is just some of the dissemination

17:58.000 --> 18:01.240
if we have done, and probably more to come.

18:01.240 --> 18:05.360
And of course, winning the HBCYR to the readers' choice

18:05.360 --> 18:07.440
of words in my brain, it's last year,

18:07.440 --> 18:10.880
but it's actually too used to go.

18:10.880 --> 18:12.400
Super super nice, especially because there's

18:12.400 --> 18:17.720
the one that people vote, not decided by the magazine.

18:17.720 --> 18:21.320
And if you have any problems or whatever,

18:21.320 --> 18:26.160
take a picture to this, you can open a GitHub issue.

18:26.160 --> 18:27.840
And it doesn't actually have to be a problem.

18:27.840 --> 18:29.440
You can also sense the gestions,

18:29.440 --> 18:32.400
report problems, request things.

18:32.400 --> 18:35.480
We will be there to help you, thanks to the multi-scale COE,

18:35.480 --> 18:39.040
that gives money to have a super team.

18:39.040 --> 18:41.560
And okay, this is the one you actually need to take a picture of.

18:41.560 --> 18:45.320
You can join this, like you can look at the documentation.

18:45.320 --> 18:46.360
You can look at the block.

18:46.360 --> 18:50.080
You can have the paper, and you can look at the YouTube channel.

18:50.080 --> 18:53.000
We have a lot of resources there.

18:53.000 --> 18:56.760
And well, this is our test socials for the multi-scale project.

18:56.760 --> 18:59.040
So I will leave this one.

18:59.040 --> 19:01.760
So because I see phones taking pictures.

19:01.760 --> 19:03.040
So I think that's it.

19:03.040 --> 19:05.600
And we have time for questions.

19:05.600 --> 19:15.600
This kind of speed will not only work with Spanish people,

19:15.600 --> 19:19.040
but in a picture of the questions for Helena.

19:19.040 --> 19:20.040
Go.

19:20.040 --> 19:23.040
Can you go back to the slide with the card?

19:23.040 --> 19:24.360
Sorry, which slide?

19:24.360 --> 19:25.520
Is the slide in the card?

19:25.520 --> 19:26.720
Ah, yeah.

19:26.720 --> 19:29.320
The question is if I can find it.

19:30.280 --> 19:32.280
This one.

19:32.280 --> 19:34.760
So there is a measure mentioned there.

19:34.760 --> 19:37.480
Which is the software is actually given by Nazan.

19:37.480 --> 19:39.800
Because my colleague's so partner with the list

19:39.800 --> 19:42.600
about anything that we see next time to this.

19:42.600 --> 19:45.560
So the question, if you want to torture yourself,

19:45.560 --> 19:47.960
if we see make you can do it.

19:47.960 --> 19:51.160
And you're like, let you choose.

19:51.160 --> 19:53.160
But it has to be careful how you can configure it,

19:53.160 --> 19:56.000
because sometimes you can configure it one way to see make.

19:56.000 --> 19:58.880
And then if you use Meson, you lose that.

19:59.040 --> 20:01.240
Sometimes it's a bit picking, as well, what makes sense.

20:01.240 --> 20:04.840
But we see it more common.

20:04.840 --> 20:07.200
It looks like people are moving away from,

20:07.200 --> 20:09.040
see make for some reason.

20:09.040 --> 20:10.040
But good.

20:10.040 --> 20:11.560
Some unknown reason.

20:14.280 --> 20:16.000
OK, go.

20:16.000 --> 20:18.720
What does the open and the monification?

20:18.720 --> 20:20.920
It's really, really.

20:20.920 --> 20:21.440
Oh, sorry.

20:21.440 --> 20:23.200
What does open and the mandu?

20:23.200 --> 20:26.120
It's a web-based interface.

20:26.120 --> 20:26.880
So basically.

20:29.880 --> 20:33.760
So what does the easy open on the mandu?

20:33.760 --> 20:38.480
It opens a desktop, which you can, OK,

20:38.480 --> 20:40.960
there's like this easy general up.

20:40.960 --> 20:42.920
And if you can see at the module list,

20:42.920 --> 20:44.640
those are modules from easy.

20:44.640 --> 20:46.520
So it just opens a desktop that's

20:46.520 --> 20:51.840
interactive to use graphical desktop.

20:51.840 --> 20:54.800
So it's really user, like beginner friendly.

20:54.800 --> 20:57.040
And you have like all the materials from easy to have a loop.

20:59.640 --> 21:02.040
OK, some materials.

21:02.040 --> 21:02.760
No?

21:02.760 --> 21:04.280
OK, go.

21:04.280 --> 21:07.640
I have a piece of software that I've got to add to it.

21:07.640 --> 21:10.480
But why not you open the desktop, and the software hasn't

21:10.480 --> 21:12.280
been updated for multiple years?

21:12.280 --> 21:15.760
OK, I have a piece of software that I've got to add to it.

21:15.760 --> 21:21.200
OK, so the question is, if we can basically

21:21.200 --> 21:25.720
put very outdated software into easy.

21:25.720 --> 21:28.560
I mean, why not?

21:28.640 --> 21:33.200
If you have the need to write not, but yeah, if,

21:33.200 --> 21:37.360
I mean, it can mean that why not, just why not?

21:37.360 --> 21:38.560
OK.

21:40.560 --> 21:42.240
I would say the biggest issue is if it builds

21:42.240 --> 21:44.440
with a recent compiler, or if you can make it build with

21:44.440 --> 21:46.320
the recent compiler, fine.

21:46.320 --> 21:48.640
If somebody still needs it, they want to use all junk

21:48.640 --> 21:50.360
from 10 years ago.

21:50.360 --> 21:52.480
I mean, maybe it's important to reproduce papers,

21:52.480 --> 21:54.400
or what, but if you can get it to work,

21:54.400 --> 21:56.000
and if it's open source, then sure.

21:58.560 --> 22:00.360
So, we need a question.

22:00.360 --> 22:04.160
How do you determine what software it reads for you?

22:04.160 --> 22:06.400
Even suppose are two or three users,

22:06.400 --> 22:09.160
would you do it, or what are criteria?

22:09.160 --> 22:12.280
The question is, what's the criteria to reduce the good software?

22:12.280 --> 22:15.240
I think the main software here is the licensing thing.

22:15.240 --> 22:17.960
Like, if it's open source, whatever, just why not?

22:17.960 --> 22:21.840
If it's close, then you won't be able to do it, basically.

22:21.840 --> 22:23.640
And the work environment for like, at least,

22:23.640 --> 22:26.360
so much interest, or at least so many users?

22:26.360 --> 22:28.880
No, not on this one.

22:28.880 --> 22:30.880
No.

22:31.880 --> 22:33.880
OK.

22:33.880 --> 22:37.280
What's the question from the user to my documentation?

22:37.280 --> 22:41.520
Is there a question from the user to the user?

22:41.520 --> 22:43.560
So, the question, what's the process to add?

22:43.560 --> 22:44.880
The new microarchitecture?

22:44.880 --> 22:47.520
I actually don't know this one.

22:47.520 --> 22:51.640
So, painful as part of the answer,

22:51.640 --> 22:54.240
because everything we've installed up until now,

22:54.360 --> 22:56.280
if we introduce a new CPU architecture

22:56.280 --> 22:59.920
and do optimized builds for that, we do everything again.

22:59.920 --> 23:03.000
Now, thanks to EasyBuild and the fact that we know EasyBuild

23:03.000 --> 23:06.920
well enough, we have scripts that help us to harvest things

23:06.920 --> 23:08.640
and build things in the right order again

23:08.640 --> 23:10.360
and make sure it all works out.

23:10.360 --> 23:14.040
There are hiccups, though, when you're targeting a new CPU target

23:14.040 --> 23:16.040
and you run a test sheet of say, NumPy,

23:16.040 --> 23:17.600
there's often surprises in there.

23:17.600 --> 23:21.000
And we do what we can to figure out the failing tests.

23:21.000 --> 23:22.160
Is it the problem with the test?

23:22.160 --> 23:23.360
Or is it really an upstream bug?

23:23.360 --> 23:25.320
You need a patch to fix that issue.

23:25.320 --> 23:28.760
So, there's a lot of these hurdles that we have to overcome.

23:28.760 --> 23:30.320
We've now done multiple times.

23:30.320 --> 23:32.240
We'll do a new V2 soon.

23:32.240 --> 23:34.240
Actually, new V2 is a bit complex

23:34.240 --> 23:35.920
because what you actually want is you want

23:35.920 --> 23:37.680
to like, grab it on four.

23:37.680 --> 23:42.320
And as it Google Axial, as any of V2 and then Grace,

23:42.320 --> 23:45.200
you actually need several builds for each three of them.

23:45.200 --> 23:46.200
For each of them.

23:46.200 --> 23:48.760
It's not that easy to come up a new V2

23:48.760 --> 23:52.480
that if you fully optimize it and use all the instructions

23:52.480 --> 23:54.640
that you can, you're like missing things out.

23:54.640 --> 23:57.840
So, you have to build, be already built for Grace, separately.

23:57.840 --> 24:01.840
But you can not use N1, University 1, University 2.

24:01.840 --> 24:03.440
There's an issue that I can point you to.

24:03.440 --> 24:05.200
It's a lot more complex than that.

24:05.200 --> 24:09.640
So, it is a painful thing where, set, grab it on four and five

24:09.640 --> 24:12.080
is two that we want to do quite soon.

24:12.080 --> 24:14.760
The other one is N5.

24:14.760 --> 24:19.760
So, the AMD Turin and it's just work.

24:19.760 --> 24:24.800
We build again from the bottom up and we power it.

