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.