 maybe let's go to Q&A rather than see me do more and more here. I'm switching to HackMD, I mean, the notes. So are the results available for plotting without any delay? So the clusters have what's called shared file systems. So basically every node sees the same data there. Even as it's being written. So basically as soon as the script writes something out on one node, another node like where Jupyter is running can see that data and plot it and read it. So there are some delays there in principle like the data syncing and updating buffers and stuff like that. But for the most part, it's pretty fast. It's definitely faster than if the Jupyter was not running on the same system, then of course it would be a different issue and you would have to manually or somehow automatically sync the files. But I was just running it on the same system, so the files are on the same file system. But often also you can add into your code plotting that is done without graphically interface. So you can then just look at the plot from the file system. Like you can view the file system and the plot will drop there and you can see it immediately. Or write it into an image file. Yeah, like you can do that as well. But of course you can also run stuff like Jupyter that you can then manually plot the data there. But that's different kind of values. But often it's a good idea to do automatic output in your code in terms of like plots or whatever. If you know that you're not going to see those plots. Yeah, okay. There's a question, what's the difference in using some multi-processing package and array jobs? I guess one is handled inside your program and one is handled outside the program. Yes, we'll go through all of the different parallel execution methods in the third day. So we will discuss in detail what differences these different parallel methods. So there's multiple different ways of doing it. Some of them are applicable for every kind of program. Some of them are only applicable if the program itself understands the paradigm. But we'll explain this in full detail in the coming days. But first off, we need to figure out how to run like simple programs in the queue. Yeah. Should we prepare our home directories or whatever for the practical parts? Yes, so the shell part we did here that had cloning the repository. That is what you need to prepare for exercises and stuff tomorrow. And it's running just like a project here. There's a good comment here that you might not want to store it in your home directory, but your work directory. Like we said before, unfortunately, we need to only teach one thing at a time. We can't teach you everything. This is small enough. It doesn't matter where you go, but with what is in the lesson, you should know enough in order to store it where you would like. So that's a good trick for command prompt, that's above. Here's a good question. When using Jupyter, if we have some heavy computation for GPUs, does it go to the queue and wait for resources to be freed? I guess I should answer that. So basically, Jupyter is an interactive thing. And when it's running, then it's not like the resources are being kept just for that. And GPUs can't be shared. If GPUs were available in our Jupyter hub, that would be really inefficient. They'd be idling for a long time and not really accomplishing much. So they aren't there. And you need to submit to the batch queue to do things. If you really do need Jupyter for some small development things with GPUs, there are some tricks for it that you can ask us about. But for the most part, they're just too expensive to be put there. Yeah, with many of the resources, the price is an important factor. What you could do, basically, what's called the possibility of what could be done compared to what is being done. And if you have an interactive job, and if you're not at that moment doing calculations with the GPU, the resources are constantly being wasted. Basically, the GPU could be doing something, but it's not doing it. And that's why these GPUs are expensive and powerful. And that's why, and popular, many people want to use them. So that's why they are in the queue so that as many people as possible can use them. And this is like something throughout the course. There's this idea of you need to automate stuff. You need to make it so that you are not there watching everything happen. But somebody is doing it for you. And this is the queue system. Like, you are writing scripts. You are writing stuff that the queue will then handle. And you don't need to be there. You will just be there to reap the benefits. Like, you are there to see the final pasta. Like, you get the final pasta. You give the instructions, they will be done somewhere, and you will get the fancy pasta meal every time. But you don't have to be there cooking stuff all the time. Like, you just give the instructions on how to make the meal. And somebody will cook it for you in a fancy kitchen with the best appliances. And like, you just reap the rewards and eat the pasta. So that is the idea here. So you don't want to be caught. You want to be a customer in a restaurant. Or like, you tell the cooks what do you want to eat today. And they will make it happen. And then like, you will get to eat that stuff. Yeah, there's a question. Do we need to disconnect from pregnant in the day? In practice? Not really. If you're not running something on the login node, which you shouldn't be anyway, there's no real harm in staying connected. But there's no like benefit of staying connected either, right? Like, I often think of it as like, if like, when we're talking about interactive users and stuff like that, am I watching the screen? Like, am I watching it? We'll talk about this tomorrow more. But am I watching the screen? If I'm not watching the screen, is it like even worth running it there? Like, if I'm not using it, is it worth keep it open? Like, I don't, I don't usually keep it open if I don't actively use it. There's a good question here. There's two related. Can I close the prompt on my workstations and calculations will not die, right? If you're using S batch, then they won't die. If you're using, well, if you're running just straight there, then yes. And then any reason to use Tmux to keep jobs running? Well, again, it's the question of interactivity and non-interactivity. Like, like I use Tmux sometimes in the logbook, you know, to keep like different projects open, like, like different, like if I have some folders open, if I have some settings, like I have some folders. For example, like I have, I usually use Tmux sessions when, when I try to solve people's issues, I open a new Tmux session for people's issues. But those Tmux sessions, they don't do anything. They just hang around there, but they don't run any jobs. They just keep open me the windows I need for this specific approach. But I don't run stuff in the Tmux sessions because that, that is the job of the queue. That is the better tool for that job. Like, but I use the Tmux session to organize my work. And I think for that it's, it's good. But of course, you need to think about like, if the login node is restarted or something, then the Tmux sessions go away. So you don't want to like do that. Instead, you want to use the queue system. And like the previous question, what Richard answered, if you use the queue system correctly, you can run stuff there and they won't die. Whenever connections are closed, or the login node is rebooted or something like that. So, so Tmux is good for organizing your work, but it's not good for like running million things on the background. So there's this feedback section down below that maybe we can quickly look at. And then we'll come back to the other questions. It seems like we were at about the right speed and level. And don't worry, we do more stuff in future days. And the level goes up some. So please, good. Good things about today. Yeah, I mean, the amount that we talk about. I mean, what we're talking about is sort of like a PhD's worth of practical knowledge of doing things. And there's no way we can talk about it. But if we can inspire you, if you can say, oh, these are things you can do and you can go study yourself later and you keep doing that, then you'll be pretty good for your career. What can be improved next time? More cats? Well, yeah, everyone always wants that. Yeah, so the thing is with such a large course with hundreds of people registered, there's always some people that don't have some experience. And especially with the basic things, if you don't have experience, learning yourself is really hard. So our philosophy is to really focus on the basics in forming a foundation so that people can continue on themselves. Yeah, it's not really about the like, how much you know it's about what is the growth, like how much you will learn. And if the foundation is good, it makes it easier to usually learn new things and because you can connect it to all of the previous things that you know. And that way you can learn a lot more and a lot faster. So it's usually a good idea to get firm grasp of the foundations because then you can build upon it and use it for multiple different things. If you only learn like one thing, like even if you don't necessarily use all of the things that we'll be talking in the coming days, if your current project doesn't use them, if you keep them in the back of your mind, you can still know that, okay, these might be applicable for you in the next project that you're working on. You might design your next project around that and that way you can like kickstart a lot of different things in your workflow. Yeah, okay, so it is exactly four o'clock where we are, so that means it's time to stop. We will keep answering questions in HackMD for the next few minutes or hours or something before it gets archived in the other place, which you can see. You can keep referring to later on the links and the workshop page. So for tomorrow, what's your homework? Make sure you can be connected to the cluster if you haven't been yet and then go over that cluster shell lesson and try to do all the exercises. Make sure you can navigate around because that's really the foundation that we build on for the cluster usage and if that's not very natural, then things will be slow and hard. Okay, yes, and please keep giving us feedback. We can use it for tomorrow. Okay, is that all then? I guess so. Yeah, thanks everyone for watching. Make sure you come back tomorrow and of course you can bring your friends and let other people know. It's not too late to register and appear. Okay. Yeah, see you tomorrow. Okay, thanks a lot. Bye.