This is like an anonymous black (or white) board. Use it to post whatever
you want regading the CSC458 class. Click here
to send a new comment or to go to the most recent message.
The comments coming from the TAs are highlighted using this color.
The comments coming from the professor are highlighted using this color.
Comment sent at 16:24:49 on 2007-1-17.Welcome to CSC-2/458 course forum. This forum is only accessible by students taking CSC-2/458, so we will limit it to authorized IP later. Please send TA email with your machine IP. By the way, TA office hour is 2pm-3pm MW at CSB 723. -Xiao |
Comment sent at 10:53:11 on 2007-1-18.This maybe a little bit early to talk about it but as most of you already know, We have a MPI assignment, and you are recommended to take a look at last year webpage: http://www.cs.rochester.edu/u/scott/458/assignments/03-mpi/ Before doing your MPI project, please take a look at: http://www.cs.rochester.edu/~xiao/CS458/tools.readme Xiao |
Comment sent at 21:10:46 on 2007-1-21.Parallel programming languages cilk(http://supertech.csail.mit.edu/cilk/) and gcc-upc(http://upc.gwu.edu/) are respectively installed under /u/cs458/cilk and /u/cs458/upc. How to compile/run cilk program? The installed cilk is built upon gcc2.91, unfortunately most machines in CS Dept. come with gcc4.1 or gcc3.2, only node0 machine has a compatible one(gcc2.96). So you have to compile your cilk program on node0 first and then run the executable on other machines. We take a fibonacci program fib.cilk(cs.rochester.edu/~xiao/CS458/fib.cilk) for example: Compilation: Log into node0 and type commands /u/cs458/cilk/bin/cilkc fib.cilk -o fib Execution: Log into your target machine and type commands ./fib --nproc 2 30 How to compile/run upc program? The installed upc is built upon gcc4.0, so dont compile it on node0. We take a hello program hello.upc(cs.rochester.edu/~xiao/CS458/hello.upc) for example: Compilation: /u/cs458/upc/bin/upc -fupc-threads-4 hello.upc -o hello Execution: ./hello You can also modify your .cshrc to ignor the "/u/cs458/*" prefix, just as what you do in the MPI project. Xiao |
Comment sent at 22:51:21 on 2007-1-21.Of the 2 assigned readings for this week, only 1 is actually on reserve at Carlson. Distributed Systems Principles and Paradigms by Tanenbaum Steen is not on reserve. The library does have a copy, but it is currently delinquently checked out (it was due on December 30) making it unavailable. |
Comment sent at 10:40:8 on 2007-1-22.Chapter 1, 5 and 7 of Distributed Systems Principles and Paradigms by Tanenbaum Steen are available in CSC458 box in the 7th mailroom for anyone interested to copy. Xiao |
Comment sent at 16:50:35 on 2007-1-22.Xiao, I need a account for the MPI assignment. Thanks, Shaojun Zhao (CS grads) |
Comment sent at 19:59:36 on 2007-1-22.To Shaojun and other CS grads, Prof. Dwarkadas has forwarded your request to David Costello and James Roche. Once opened, you can login sync/swim with your current passwd. To other students, You may come to our staff office for your account's passwd (I maybe wrong, but it's my understanding how you get your passwd). Good luck to everyone! -Xiao |
Comment sent at 11:8:10 on 2007-1-24.Chapter 2, 3, 5, 6.1-6.2 and 8.2 of Parallel Computer Architecture are available in CSC458 mailbox. -Xiao |
Comment sent at 15:24:42 on 2007-1-25.Just a reminder that you need to bring in two speedup curves for sor for Monday's class, the example pthreads parallel application I've provided in ~cs458/apps/sor on the grad side. The three larger scale possible parallel machines on the grad side are sync, discovery, and node4x2a. If you have trouble accessing these, trial on any multiprocessor machine is fine (find a box with more than 1 (and hopefully more than 2) processors). Examples include the cycle machines - /proc/cpuinfo will give you an idea of what and how many processors you have. sor has several subdirectories. The two of current interest are seq (sequential application) and pthreads (pthreads version). Please take a look at ~cs458/bin/tools.readme for instructions on environment set up. You should make a copy of the sor application, first re-compile, and then run the code to make sure you have your environment set up correctly. Please take some time to look at the code for sor, how it's been structured, how the work is partitioned, where the synchronization is inserted, and how the timing is extracted. The existing code should show how to insert timing tests into your code, including the fact that it is best to make sure all processes are in lockstep before starting timing, by inserting a "barrier". In addition, code and/or instructions for accessing the high resolution timers on most of the machines is provided and accessible via /u/cs458/hrTimer/. To get accurate timings, you'll need to make sure you have exclusive use of the processor(s). A useful command to determine if there are other users is "top". Make sure to kill all your processes when you are done, and before logging out of the machines. Check using "ps -Af" to ensure that you don't leave any run-away processes behind. Sandhya |
Comment sent at 15:31:24 on 2007-1-29.There are two system calls on binding process to CPU(s): sched_getaffinity() tells process current CPU mask, sched_setaffinity() binds process to certain CPU(s). Try "man sched_getaffinity" for more detailed info. -Xiao |
Comment sent at 11:31:24 on 2007-2-10.How to turnin your project =========================== Go to your project directory and type: /u/cs458/bin/turnin . Not TURN_IN! You will receive an email confirmation. -Xiao |
Comment sent at 15:31:4 on 2007-2-10.I've been running into an issue with pthreads where the threads are
executing sequentially. I wanted to make sure it wasn't because of a
deadlock in the code, so i replaced my work thread with:
void *work_thread(void *lp){
int task_id = *((int *) lp);
int i;
for(i = 0; i < 100; i++){
printf("current task=%d", task_id);
}
}
The output indicates that the threads are still executing sequentially.
What's confusing is that I did this same thing with the work_thread and
even and odd functions of the sor_pthreads.c program and got the same
results, which means that it is corrected somewhere in the implementation
of the even and odd functions, but nothing related to the thread occurs
here. I'm using the same compilation flags as the pthreads version of sor.
|
Comment sent at 16:0:13 on 2007-2-10.nvm. it was locking on stdout. |
Comment sent at 14:53:41 on 2007-2-14.The class for 2/458 has been postponed today (Feb 14) and rescheduled on Friday (Feb 16). This only for this week. Here is the mail from Prof. Sandhya regarding the class reschedule Sandhya Dwarkadas wrote: > > Okay. Based on responses so far, I'd say let's reschedule to Friday morning at 11. We'll plan on CSB 632. I'll send out mail with a new venue if the room is not available. > > Thanks, > Sandhya > > On Wed, 14 Feb 2007, Sandhya Dwarkadas wrote: > >> >> >> This is a poll to determine how many of you will be able to make it in to class today. >> >> If there aren't too many takers, we can reschedule to Friday, say at 11, if that works for everyone. >> >> Sandhya >> -------- Hemayet Hossain |
Comment sent at 15:57:21 on 2007-2-14.To Jonathan,
You can also put printf just before threads finish their jobs to see if
they really execute in sequential. |
Comment sent at 18:1:19 on 2007-2-15.You may find that running mpi on node4x2a has error today: semget failed for setnum = 0. This means that the maximum number of allowed semaphores on the master node has been created, and the program you are trying to run cannot allocate a new semaphore for inter-process communication. My guess is that somebody has been testing mpi program that does not exit properly, leaving semaphores and shared memory segments allocated. If the leftover semaphores are owned by you, it can be fixed by running the following two commands: /u/cs458/mpich-1.2.7-node4x2a/sbin/cleanipcs |
Comment sent at 18:13:14 on 2007-2-15.In any case, you can use "ipcs -s" to list your semaphores, and "ipcrm -s semid" to remove semaphores. |
Comment sent at 18:18:43 on 2007-2-15.Thanks to anonymous semaphore remover, mpi works again on node4x2a. -Xiao |
Comment sent at 23:12:0 on 2007-2-20.Got the below error message since yesterday: 0 - MPI_INIT : MPIRUN chose the wrong device ch_shmem; program needs device ch_p4 /u/cs458/mpich-1.2.7-install/bin/mpirun.ch_shmem: line 91: 29334 Segmentation fault /u/bwei/mpi/linux/linux/gauss "-s" "128" Anyone knows what mistake I made? Thank you! |
Comment sent at 9:22:57 on 2007-2-21.That means mpi is not compatible to the machine you are running. You probably run your program on a non-target machine. Try to run it on another one. |
Comment sent at 0:25:16 on 2007-2-24.To those gprof fans, As far as I know, gprof overwrites gmon.out. So when you run multi-processes, your gmon.out is kind of being rotten. One way to solve it is calling chdir inside each process(yes, it's not elegant) to avoid overwriting. You are more than welcome to provide better solution here. I see tprof is recommended for multiple-process profiling, however, we dont have it at this moment. -Xiao |
Comment sent at 17:25:11 on 2007-5-2.Demo slot reserve: I am reserving a 15 min slot on May 7 10AM-10:15AM Thanks, Hemayet |
Comment sent at 11:45:50 on 2007-5-3.Hi, I'd like to reserve a slot on May 7, 3 PM. Thanks, Vinod. |
Comment sent at 14:29:19 on 2007-5-3.We want to reserve a 15 min demo session from 10:15-10:30 AM Sam & Matt |
Comment sent at 13:40:44 on 2007-5-4.hi, i'd like mon. 10:30-10:45 please thanks, max |
Comment sent at 22:4:21 on 2007-5-6.Mon. 3:30 p.m. please thanks jiasheng |