 We're going to move on to supercomputing basics then. We call high-performance computing, we have a few names for it. High-performance computing, or HPC, is basically using the biggest fastest machines that are out there to accomplish tasks. And we do this to make the computer act like one big computer. We have a whole bunch of computers. We have over 150 computers, 3,500 cores. Everybody knows what a core is? This means yes. This means no. No, I saw somebody say no. That's fine. That's why we need to go over these kind of things. A core is what, back when I was going to school, was what a CPU was. It's the brain inside the system. It used to be like one core per chip, and now most chips have two or four cores inside there. So if you buy a desktop with an i3, it's going to have two cores in there. If you have an i7, it'll have four cores inside there. That's the chips that are doing all the math that makes a computer a computer. And all computers come real down to math on the inside. Even typing something up is saying, oh, there's some math going on that I need to make this pixel white and this pixel black and this pixel green. And that's all math operations to make that happen. So a core is kind of the brains inside there. So most of you, like I say, your desktops and laptops will have either two or four cores. We have some machines that have 80 cores in a single box. And we have over 3,500 cores. Actually, it's not quite 3,500. I think if we had, if you count the compute nodes plus all our other stuff, we have somewhere over 3,500. For memory, your laptop probably has four or eight gigs of RAM. If you have a big gaming system, it might have 16 gigs of RAM. We have some machines that have over a terabyte of RAM. And we have over 26,000 terabytes on Bay of Cat when you put it all together. So and then we use some high-speed networking to put everything together to make it act like it's one big computer. Now, I say act like one big computer. There is one big caveat in there. And that is throwing more resources at something that's not meant to help that is not going to make your job run any faster. I'll use an example of R because that's probably the one we see most of. R is what we call single threaded. It can only use one core at a time. So you can go in and say, I want to use 20 cores and I want to run my R program. But since R is not meant to use more than one, you'll use one core and you'll have 19 sitting there reserved for you that you are not using for anything else. So that's the caveat. Just adding more resources won't make your program run faster. You have to have programs that are meant to run in parallel, and that's what Dave's going to talk about on Wednesday. But for right now, the next thing we're going to do is we're going to take a tour of Bay of Cat so you guys can see what's going on. So I'm going to take this off for a moment and we're going to go upstairs. We get back into Bay of Cat specific stuff. Pretty much everybody has a, and us included, have that support pages. I want to reiterate using these things. These support pages will give you all sorts of help for what you need. For instance, there is a software. Writing in installed software. Here. This shows some of the software that we have installed here. We list all the packages here, node package list. I'm not going to go through those because there's somewhere over 150 of them. But you can see we have a lot of stuff that we install already. Some of the stuff that people have biggest questions about and things that we have had to do a few special things. They end up here. I'm going to make this bigger, too. There we are. So you guys can see what's going on. OpenMPI. Dave's going to talk about OpenMPI on Wednesday. That's if you're programming for multiple machines of how to program for multiple machines. We give some directions for R. We have a lot of people that like to use R. It is not particularly well-adapted for supercomputing use. And in particular, the packages that you have, some people need one particular version. Some people need another particular version. And they're not compatible with each other. So we have some directions here on how to install your R packages. Java. We get the question, probably once every two or three weeks, on average of, hey, why don't you have the newest version of Java installed? We do. There's a special process you have to go through to change your version of Java. It's not the default. The newest version is not the default. But it is available. So we make sure that we have those up there. And this is directions of how to set your Java. So if you're going to be doing stuff in Java, make sure you note this page. Python. We have several different Python interpreters. And it, too, has some special requirements called virtual environments. And we have more than one time that people have not paid attention to this step. You have to log out and log back in, or else it won't work once you get to this point. And some examples of that. Perl also, we see a lot of Python live to Perl. And they have, again, different requirements, different ways you need to go through and submit your jobs. So if you're using one of those packages in particular, make sure you check out the support pages. We do have some videos in particular of installing software. It's always good to have a boss that has your back. That's better if I have the coffee. But there is a video on there on installing some of your own software. Most of the software you see out there will give you a can solution of, you uninstall this, or apt-get install that. Those won't work on our system. So you kind of have to go through and you have to grab the source files. You have to install it yourself. And there's some tricky things you have to do. That training video, in particular, will give you an example that I gave during this class last time of how to install software. You can talk to Dave, too. And actually, if you have software that is tricky to install, please add it to this page. Again, this is the purpose of having a Wiki. So you guys can help each other out. And we see some of it. We don't see all of it. Some things are pretty easy and you don't need much documentation. But there are several software packages out there that, if you had a particularly difficult time getting it done, then you've got to put it here in the support Wiki so other people can take advantage of that. So we're not duplicating work. We're all getting along here. We're not in competition with each other. We're all in the same boat. We're trying to get to the same place. So that's been our philosophy from the beginning, is that we're all trying to get to the same place. So let's work together as much as we can. This is a song of what I'll do over on Wednesday to something to help you understand how to install your own software. We want you to install software because you know science wants to know that you can't install it and have trouble when you come to us and it will help you get it. But we at least want you to understand how to install it and I'll go over some of the basics on Wednesday. Since it's exposed, everyone can use it. Right. Now when you install it in your home directory, you can either let everybody else use it or not. But it's tricky if you're relying on other people's software because they might update it and you didn't know it or they might be in the process of updating it and you didn't know it. So it's better to have your own copy but using somebody else's set of instructions to get there. Unless they told you that they're going to do this and you're working together, obviously, that we have a group, a bio-info group that has their own whole set of stuff that they take care of. And they keep track of with themselves who's using it and who's, I mean, they open it up for anybody to use. But really it's their group and they'll tell everybody in their group when they're going to be updating software and things like that. So everybody within that group knows about it. And they'll let anybody use it. But it might be a good idea to let them know that you are if you're going to use something like that. And here's the other part that we like to really point out. Email. Write this down. baocat.cs.ksu.edu. That email goes to Adam and Dave and I, all three of us. And whoever happens to have the fastest and most direct knowledge of that, sometimes we'll leave it. If it's a question, we kind of have our realms of expertise. So if it's a particularly tricky question on Python, we'll let Adam answer it because Adam knows everything there is to know about Python. No pressure. When it comes to code optimization, we let Dave do that. I get the quick and easy ones. I don't know what I do. But seriously, asking a good question here, the best thing you can do is if you are working on a particular problem, especially if you have errors, send those errors, pertinent details, job IDs, commands you ran, working directory, program versions. Those kinds of things will help us out as much as anything else being able to find your information and be able to track it down. So before you send the email, say write the email address down, but go to this page to do that. Try not to email us directly. We rely heavily on email filtering. So if you send to us directly instead of to the group, it kind of gets lost in the shuffle a lot of times. So make sure you send to that address. Even if you know who's going to answer it, it goes into our ticket tracking system. So we make sure we get on top of all the answers. And we even have, if any of you like chat servers, we're on chat all day while we're here. So you can ask questions there also. Those are all on there. That pretty well does it for super competing in general. Any questions before we move on to submitting jobs?