430 likes | 571 Vues
Boston University’s Scientific Computing Facility (SCF) provides essential high-performance computing and visualization resources to the university community. The facility supports extensive CPU time and memory needs, enabling researchers to run complex simulations and create interactive 3D visualizations. The SCF features advanced hardware, including BladeCenter and Blue Gene, and runs various software applications under Unix. Project-based accounts are available for faculty and research staff, facilitating collaboration and resource allocation for studies.
E N D
Introduction to Boston University’s Scientific Computing Facility Doug Sondak sondak@bu.edu Scientific Computing and Visualization
Information Services & Technology Outline • Introduction • Hardware • Software • Account Information • Tutorials • Some Basic Unix Commands • How to Run Batch
Information Services & Technology Introduction • BU’s Scientific Computing Facility (SCF) addresses high-performance computing and visualization needs of the BU community • Large resource requirements • CPU time • Memory • One group used 3 centuries of CPU time last year!
Information Services & Technology Overview of SCV • Scientific Computing and Visualization • Computing • high-performance, parallel computers (SCF) • support • parallelization • optimization • tutorials • Visualization • support to create graphics, from publication figures to interactive 3D displays and movies • 15’x8’ tiled display for 3D visualization • tutorials
Information Services & Technology Current Hardware - BladeCenter • IBM BladeCenter • katana • currently 272 processors • heterogeneous mixture of blades • Intel Xeon and AMD Opteron • 2.4-3.0 GHz • blades contain 4 or 8 processors • May use up to 32 processors at a time • parallel or serial • Two blades each have 8 processors and 96 GB memory
Information Services & Technology Current Hardware – Blue Gene • IBM Blue Gene • 1024 nodes, each with 2 processors • PowerPC 440 processors • 700 MHz • 32-bit • only runs MPI codes • each processor is relatively slow, so you need good scalability to make it worthwhile • May use 1024 processors during the day, all 2048 processors at night
Information Services & Technology Current Hardware - pSeries • IBM p655 • shared-memory machines • Power4 processors • 9 machines, each with 8 processors • 6 machines 1.1 GHz, 16 GB memory • 3 machines 1.7 GHz, 8 GB memory • login node is twister
Information Services & Technology Software • All machines run under Unix • C, C++, Fortran, Java, Perl, Python, Tcl • Matlab • all machines except Blue Gene • PCT (Parallel Computing Toolbox) • Maple • all machines except Blue Gene • Mathematica • all machines except Blue Gene
Information Services & Technology Software (cont’d) • Gauss • blade center, pSeries • R • all machines except Blue Gene • VTK • Paraview • Maya
Information Services & Technology Accounts and Policies • Accounts and allocations are based on “projects” • Must be faculty or research staff to apply for projects • Project PI then adds accounts for students, collaborators, etc. • May assign post-doc or admin. staff as “administrative contact” • Apply for project at http://www.bu.edu/tech/accounts/special/research/accounts/applications/ • Click on “Boston University faculty and research staff may apply for a new project.” • If you’re not sure how much time to ask for, 1000 katana hours is considered modest • The form has fields for requesting time on each machine, but the time is actually all in one pot, and can be spent on any machine • This will give you accounts on all machines except for Blue Gene
Information Services & Technology Accounts and Policies (cont’d) • For Blue Gene account, once you are awarded a “regular” account go back to • http://www.bu.edu/tech/accounts/special/research/accounts/applications/ • There is a paragraph starting with “Blue Gene accounts.” Click on the “SCF User Information Page” link. • You will be requested for your user name and password • Click on the “Update Personal Information” link
Information Services & Technology Disk Space • The disk space in your home directory is minimal • Most project PI’s request a “project” directory • project directory contains disk space allocated to the specific project • once your account has been activated go back to http://www.bu.edu/tech/accounts/special/research/accounts/applications/ and click “request a Project Disk Space allocation.” • a request of a few GB will be rubber-stamped • large requests (hundreds of GB) will require stronger justification
Information Services & Technology “Buy-In” Nodes • Departments/groups may purchase their own BladeCenter nodes • alternative to buying and administering their own machines • Group that owns node(s) gets priority for batch runs • can be restricted to specific users if desired • May also have log-in node(s) for interactive use • log-in node restricted to specified groups/users
Information Services & Technology Services • SCV has 3 components: • system administration • excellent administrators! • can often accommodate special requests • visualization • can help with creating visualizations, including animations, for presentations, publication, and display wall • wall has 3D capability
Information Services & Technology Services (cont’d) • high-performance computing • code parallelization and optimization • MPI • OpenMP • PCT (Matlab) • help with any large-scale computing issues • algorithms • coding • There is no charge for SCV services
Information Services & Technology Tutorials • SCV offers tutorials on a variety of computing and visualization topics • If you have interest in an area that we don’t presently cover, let us know! • Current offerings are in three areas • Programming • High-Performance Computing • Visualization
Information Services & Technology Tutorials (cont’d) • Programming • Intro to Matlab • Intro to Fortran • Intro to C/C++ • High-Performance Computing • Code Tuning (C, Fortran) • Tuning Matlab Codes • Intro to MPI • Parallelization with OpenMP • Matlab Parallel Computing Toolbox (PCT)
Information Services & Technology Tutorials (3) • Visualization • Intro to Scientific Visualization • Scientific Visualization using Paraview • Scientific Visualization using VTK • Scientific Visualization using Matlab • Graphics Programming in C/C++: OpenGL and OpenSceneGraph • Graphics and Images for Presentation and Publication
Information Services & Technology Some Basic Unix
Information Services & Technology Login • From a terminal (e.g., Xwin-32, putty) ssh katana • this requests a “secure shell” on katana • you’ll be prompted for your username and password • You’re now logged on to the blade server “katana” • You’ll see something like “katana:~ %” • this is a Unix prompt, which is where you type in commands
Information Services & Technology Directories • “directories” are analogous to PC “folders” • delimited by / rather than \ as on a PC • when you first log in, current directory is called your “home” directory • directory where you are located at any given time is your “working” directory • pwd means “print working directory” • type pwd • to create a subdirectory, use mkdir (make directory) • type mkdir sub1, where sub1 is the subdirectory name
Information Services & Technology File Management • ls lists all files and directories in your current directory • type ls • you should see your new directory listed • some shorthand directory names: ~ home directory . current directory .. one level above current directory • cd dirname(change directory) moves you to dirname • type cd sub1 • typepwd
Information Services & Technology File Management (cont’d) • type ls~ • lists everything in your home directory • type ls .. • since you’re one directory below your home directory, this is the same as ls ~ • cp from to will copy a file • from is the file name you’re copying from • to is either a file name or a directory • if it’s a file name, the copy will be given that name • if it’s a directory, the file will retain the old name and be placed in the specified directory
Information Services & Technology File Management (3) • copy the file /scratch/sondak/emacs_file to your sub1 directory • cp /scratch/sondak/emacs_file . • we will use it later • a path is a full set of directories leading to a file or directory • e.g., when you type pwd, it shows the path to your current directory • file suffixes generally don’t have any special meanings as they do under Windows • there are some cases where they do have meaning, such as .m for a Matlab program
Information Services & Technology Emacs • text files are created with an editor • kind of like a fancy “notepad” • two most common Unix editors are vi and emacs • since I use emacs, that’s what we’ll use here • we’ll introduce some emacs commands using the file emacs_file • two ways to enter commands • menu • shortcuts
Information Services & Technology Emacs Exercise • make sure you’re in your sub1 directory • type emacs emacs_file • the file will appear in an emacs window • try migrating around the file with the arrow keys • you can also navigate by clicking on the desired location • click on the 0 in 0.282 • to delete a character use Delete button • hit Delete 3 times to delete 0.2 • type 1.3 • you’ve now changed 0.282 to 1.382
Information Services & Technology Emacs Exercise (cont’d) • Highlight 0.288 with the mouse • Don’t include spaces before or after • Edit -> Cut will delete the highlighted characters • can also use CTL-w • Oh no, we made a mistake! Edit -> Undo undoes the previous command. Try it; 0.288 should reappear. • can also use CTL-x u • can keep repeating undo, and it will undo last command, second-to-last command, third-to-last command, etc.
Information Services & Technology Emacs Exercise (3) • The point is the location on the left side of the cursor; i.e., between the character on which the cursor resides and the character to its left. • The mark is similar to the point, but it’s location is set explicitly (i.e., doesn’t move with cursor).
Information Services & Technology Emacs Exercise (4) • Suppose we want to delete all the characters between (inclusively) 0.288 and 0.407. • Set the cursor on the 0 in 0.288. • To set the mark, CTL-spacebar • The note “Mark set” will appear at the bottom of the screen. • Move the cursor to the right of 0.407 • We place it to the right of the 7 rather than on it because the point is always to the left of the cursor • Edit -> Cut will delete all characters between the mark and the point • shortcut is CTL-w
Information Services & Technology Emacs Exercise (5) • For now, let’s put the characters back in by using Edit -> Undo (or CTL-x u) • Move the cursor to the start of the current line using CTL-a • (CTL-e moves to end of current line) • Delete (“kill”) the line with CTL-k • Another CTL-k deletes the newline character
Information Services & Technology Emacs Exercise (6) • “Meta” key is the Esc key • We will use M to refer to the Meta key • The Meta key is hit prior to the subsequent key(s), not simultaneously as with CTL • Place the cursor at the top of the file • M-> will move the cursor to the bottom of the file (don’t confuse notation with arrows I’m using for menu notation; this is “Meta greater-than”) • M-< will move it back to the top
Information Services & Technology Emacs Exercise (7) • Whatever we deleted last is available in a buffer • Move the cursor to the beginning of the “M1rel” line • Edit -> Paste “yanks” the current buffer • can also use CTL-y
Information Services & Technology Emacs Exercise (8) • CTL-h gets you into the Emacs help function • at prompt type ? to list types of help • I often use “a” (apropos) • Type CTL-h • Thentype a at the prompt • Then type “kill” at the prompt • The window will split, listing all Emacs commands that have something to do with the word kill
Information Services & Technology Emacs Exercise (9) • Type CTL-x 1 to get you back to the un-split screen • Split screens can be very handy, especially for cutting from one file and pasting in another • Type CTL-x 2 to split screen horizontally • can open different files in each half of the screen • toggle across split with CTL-o (“other”) • CTL-x 0 eliminates the half screen in which the cursor currently resides (try it) • this is a zero, not an “oh”
Information Services & Technology Emacs Exercise (10) • To save the modified file, File -> Save (current buffer) • can also use CTL-x CTL-s • A note will appear at the bottom of the window saying the file has been saved • To save it under a new name, File -> Save Buffer As… • can also use CTL-x CTL-w • You’ll be prompted for the name at the bottom of the screen • Note that when you get these kinds of prompts, you can edit them using emacs commands • Type a file name and then move back and forth with arrow keys • File -> Exit Emacs (or CTL-x CTL-c) to quit • Previous version will appear with ~ suffix
Information Services & Technology Katana Batch System
Information Services & Technology Katana Batch System • If your run will take less than 10 minutes of CPU time, you can run interactively • Longer runs are submitted to the batch system • Sun Grid Engine • May use up to 32 processors at a time • can be 32 serial runs • can be one 32-processor parallel run • can be combination • Serial runs are limited to 24 hours • Parallel runs are limited to 5 hours
Information Services & Technology Katana Batch System (cont’d) • Job Control File (JCF) • this is file you submit to batch system • line starting with #! defines Unix shell • lines starting with #$ are batch system commands • lines starting with # are comments • Here’s a “minimalist” JCF for a serial run: #!/bin/tcsh # run time limit hr:min:sec #$ -l h_rt=2:00:00 mycode
Information Services & Technology Katana Batch System (3) • JCF must have execute permission • chmod 755 myjcf • qsub myjcf submits your job to the queue • qstat –u username checks status of all your jobs
Information Services & Technology Katana Batch System (4) • Create a trivial Matlab code with some output, e.g., • I called mine “dumbcode.m” • Create a JCF a = 3; disp([‘a = ‘ int2str(a)]); #!/bin/tcsh # run time limit hr:min:sec #$ -l h_rt=0:02:00 matlab –r –nodisplay dumbcode
Information Services & Technology Katana Batch System (5) • Submit to batch system • When it’s done 2 files should be in your working directory • dumbcode.e###### • dumbcode.o###### where ###### represents a 6-digit number • The .e file contains errors • The .o file contains output
Information Services & Technology References • General SCV/SCF information • http://www.bu.edu/tech/research/ • Blade Server • http://www.bu.edu/tech/research/computation/linux-cluster/katana-cluster/ • Account Application and Maintenance • http://www.bu.edu/tech/accounts/special/research/accounts/applications/ • Slides from Live SCV Tutorials • http://www.bu.edu/tech/research/training/presentations/list/ • Web-based SCV Tutorials • http://www.bu.edu/tech/research/training/tutorials/list/ • Katana Batch System • http://www.bu.edu/tech/research/computation/linux-cluster/katana-cluster/runningjobs/
Information Services & Technology Human Help • If you ever have any questions, feel free to contact us • Doug Sondak, sondak@bu.edu • Kadin Tseng, kadin@bu.edu