|
Student IntroCode of Practice General Usage of Our Beowulf Cluster
X11 Forwarding Handling TAR-files Firefox Problem Tied with NFS and lightening Riken Kepler Code of PracticeHuman Relationships When you talk to me either during the meeting or in non-meeting hours, you should clearly show me your own understanding of the problem. I will not judge you for your mistakes but support you and correct your understanding. You should share you research understanding and problems. You should not act as you understand everything if you do not. Ultimately, when it comes to research you and I are co-workers. We stand at the same level and you should treat me as your collaborator. SecurityIn the past there were some incidents involving access to various machines in our cluster and entering permission-unprotected directories as well as viewing files whose owner was different from the accessing person. The cluster administrator is capable of tracking all actions of all users. Ignorance and lack of Unix system knowledge will not be considered as an excuse for violating these security rules. Unless you execute the parallel computing programs in our computer cluster or belong to the cluster service providers you are expected to login and use only your own machine and access only your own or shared files. Increased security constrains put more burden on the cluster administrator. Therefore, students demonstrating strong Unix skills might be asked to help the senior cluster administrators due to the current staff shortage. Please read, sign and return to me the local security policy document. Your university card can be activated to enter the Sackville street building after 17:00 on weekdays and all day long on weekends by swiping your card. Please give me your card number so that I can ask john.ashton-2@manchester.ac.uk to activate your card. General information on research
The following reference will give you the overview of the research
The Key F1 raises the window under the mouse.
The Key F2 lowers the window under the mouse.
The Key F3 iconizes the window under the mouse.
The Key F4 kills the window under the mouse.
Linux as all Unix systems is famous for the powerful command line utilities it
offers. Refer to the following articles if you have little knowledge
about
Linux
,
LinuxPlusShell
and
Command-line interface.
Please go through
Online Introduction to Unix
to acquire the minimum skills on Unix.
Then go through
Linux Shell
Scripting Tutorial.
Refer to the openSUSE 10.3 Reference for the introduction to the important
Linux commands and secure network operations.
Reading entire Chapters 19 and 36 is strongly advisable:
The most important reference Sections are:
Refer to the Wikipedia article below for a list of frequently used Unix commands.
Bash is a command-line interpreter provided with the majority of Linux
distributions. It allows you to execute the command-line utilities and
programs:
If you face the
The following IP addresses are available in our cluster.
As for 32 bits machines:
The most of the computation should be done under
the local directories such as
Please run the memory hungry program on
When you compile your program using Makefile on
the dual core machines of
A short step-by-step guide explaining how to export graphical output from a
remote Linux machine to your local Linux computer.
Handling TAR-files
Compressing and decompressing data to and from TAR-file archives:
This command will compress two files into an archive. You may also use common Unix wildcards and type "*" or "file?.txt" to compress all files in the directory or all files with a variable single symbol value.
Follow the command below to decompress a TAR-archive file into a current directory:
Firefox is available only 32 bits machines.
Home directories in our cluster are mounted via NFS and backed up daily. NFS
might cause problems running Firefox web browser on a certain machine. Please
follow the steps below to restart Firefox:
The following is the procedure to get started
in order to transfer the data from our side:
in order to transfer the data from Riken: stay in
the x-window in our local cluster and then
General Programming
For the introduction to the basic programming concepts and style.
Programming skills are acquired in practise and experimentation. Do not rely
on pure book reading or asking people about each error message.
Programming as well as LaTeX typesetting and shell scripting involves debugging of your code so that
you can compile the program without errors and obtain the expected result.
By facing and tackling the error messages from compilers you actually learn
the techniques for programming. When you are stuck with the compilation or
receive strange error messages, which you can not fix, you can produce a
little program which mimics your current problem in the large production code.
It is much simpler to debug and fix the "extracted code". Once you make it
work you can transfer the problem solution to the major code.
If you still can not solve the problem, search for the exact error message on the Internet using Google. This activity will also give you an extra knowledge around your problem.
Please do not ask other students in the group to solve your programming
problems unless you tried all the above methods. If you need to ask a question
be as specific as possible. Respect other people's time since all of us work
under tight schedules.
GNU Fortran compiler
The wrap-up script
Use
The 32-bit machines in our cluster are also suitable for running parallel programs.
Output to
Extra attention should be paid to the following points:
GPU
In order to understand CUDAFortran , please read
Portland
and for optimisation, please read
Optimisation
and
documentation by NVIDIA .
Fermi Architecture
is also very informative.
Problem Solving
The best way to approach a problem is to decompose it into smaller simpler
parts. Decide on what parts you can solve, which tools you are going to use
for a solution. Then think and write a draft algorithm for your solution. It
can be made on paper. Afterwards you can start implementing it using the tools
you have chosen. It is always a good idea to implement the algorithm in
smaller chunks. Where each chunk is performing a specific function of the main
algorithm. You can always write a very basic program testing a specific tool
or algorithm functionality. If your prototype works correctly you can increase
its functionality and integrate into the main program.
To solve the file opening and reading problem in Fortan. Decompose it into
simpler tasks:
All of those tasks can be written as 4 separate Fortran programs. Afterwards
you can put it all together into one main code. Finally, you may address the
loop issue-and wrap the 4 functions up with a triple loop for i, j and k
values.
As a rule of thumb try to search for problem solutions on the Internet using
Google. This is the quickest way to find answers. Extract the error message of
your code, paste it in Google and search for answers. Finding information on
your own will make you learn and remember. It is much better for you, than me
telling you the answer straight away.
When you need to learn MPI
please go through
http://staff.cs.manchester.ac.uk/~fumie/internal/MPI/
Before running a parallel program with MPI an MPI service (daemon) has to be
launched. Running on the background this daemon provides Message Passing
functionality to your programs.
Prior to do any MPI activity, you have to do the following(just once
only when you join our cluster)
Starting an MPI daemon:
This daemon has to be started on each machine, where you intend to execute parallel program. All MPI daemons have to be connected to each other. This daemon ring connection is set up using the port number and IP address of the first machine, where "mpd" runs. This computer is called "MPI-host".
Find out port number and machine name of mpd-host:
The output is the following:
Extract port number, e.g. 20115 and IP address, e.g. 130.88.154.30.
Login to another machine in the cluster using SSH:
Copy files/directories to another machine in the cluster using SCP:
Enter your password on SSH prompt. Now you have to start MPI daemon on this machine using port number and IP address extracted from the MPI-host.
The procedure mentioned above can be automated using
The MPI environment is ready. Time to compile a parallel code. Compiling MPI code involves calling of a wrapper script "mpif90". This script launches ordinary Fortran compiler (gfortran), but also links the code with MPI libraries.
This command will compile a Fortran source code
To run a parallel code on a number of processors write:
In general you should keep your program source code in your home directory because it will be backed up every day. Designate a different output directory to e.g.
Specifying a local output directory will force your code to use the hard drive of a certain machine only. Using the home directory for output will synchronising the data files between all machines of the cluster and considerably slow down other people's computers. Please refrain from doing this.
The IBM Redbook on "Practical MPI Programming" is a recommended reading.
The most important Chapters are:
Although the environment setting and program compilation are strongly site-dependent, you can get a flavour of parallel programming by reading the following information:
How many timesteps you need to calculate ?
If the frequency range of interest is from f1 Hz to f2 Hz,
the FDTD calculation has to be done much more than
1/(f1 * delta_t) timesteps.
Thus if you get N timesteps from the FDTD calculation
and assess the accuracy in the frequency domain,
you can take the frequency range starting
more than 1/(N * delta_t) Hz.
Skills for presentation and technical report
writing
Presentation is the activity to
give(present) the audience your knowledge as a gift,
not to speak about your idea which is speech.
LaTeX
The basic guideline on the technical report writing
and
The best method
for presentation of
research results
are very useful stuff to read before you gain good amount of experience in writing technical report.
Please check the marking schemes thoroughly prior to your writing.
Prior to present your manuscript to me, please go through
a check list for your manuscript preparation .
You do not have to worry about the formatting as LaTex does the formatting based on
your style file such as muthesis.cls.
An article on Wikipedia gives a short introduction on
LaTeX — a document markup language extensively used in a scientific domain.
Wikipedia also holds an entire LaTeX
textbook
which you can browse by topics.
There's a University LaTeX users list. If you're interested, send an email from your University email account to LISTSERV@listserv.manchester.ac.uk with the body text "subscribe latex-users".
The referencing is one of the very important part of
your documentation.
Please use the reference abbreviation based on
List of IEEE Transactions
and
IEEE Editorial Style Manual
.
Practical skills such as the operating system, programming and documentation
language knowledge are not going to be forced by me unless your work has a
significant impact on the mainstream of our research.
In this case, you can learn Unix, Fortran, LaTeX and shell-scripting including the command-line utilities as
If you import some image into
For students in EEE, the risk assessment form is
assessment
form.
You need to change the name of the student to your name obviously.
As for the technical writing, please see
LaTeX section.
For MSc students, the binding information is in
handbook
and
guideline
For BSc students, the Latex style files for final report is in
3rd year UG Latex Template.
Accommodation Hunting
Until 13th of Dec, 2013 (i.e., till the end of 1st semester)
Fumie is available at the following time slots
|