**** The program has to be written in the C programming language and must compile and run in the terminal of a Linux operating system ****
|
|
- Cornelius McCarthy
- 5 years ago
- Views:
Transcription
1 **** The program has to be written in the C programming language and must compile and run in the terminal of a Linux operating system **** a) Program needed b) 5 Examples of the format & info that will help A) Program needed: Suppose we toss darts randomly at a square dartboard, whose bullseye is at the origin, and whose sides are 2 feet in length. Suppose also that there is a circle inscribed in the square dartboard. The radius of the circle is 1 foot, and its area is π square feet. If the points that are hit by the darts are uniformly distributed (and we always hit the square), then the number of darts that hit inside the circle should approximately satisfy the equation number in circle/total number of tosses = π/4, since the ratio of the area of the circle to the area of the square is π/4. We can use this formula to estimate the value of π with a random number generator: number in circle = 0; for (toss = 0; toss < number of tosses; toss++) { x = random double between 1 and 1; y = random double between 1 and 1; distance squared = x x + y y; if (distance squared <= 1) number in circle++; pi estimate = 4 number in circle/((double) number of tosses); This is called a Monte Carlo method, since it uses randomness (the dart tosses). Write a Pthreads program that uses a Monte Carlo method to estimate π. The main thread should read in the total number of tosses and print the estimate. You may want to use long long ints for the number of hits in the circle and the number of tosses, since both may have to be very large to get a reasonable estimate of π B) Examples: Example 1: The following serial program calculates and displays π. #define n double factor = 1, sum = 0, pi;
2 int i; for(i = 0; i < n; i++){ sum += factor/(2*i+1); factor = -factor; pi = 4 * sum; printf("pi = %fn", pi); Output: pi = Example 2 The following parallel program calculates and displays π. long long n = ; long thread_count = 5; //n must be divisible by the value of this variable. long double sum; void *Thread_sum(void* rank); long thread; sum = 0; pthread_create(&thread_handles[thread], NULL, Thread_sum, (void*) thread); printf("pi = %Lfn", 4 * sum); void *Thread_sum(void* rank){ long my_rank = (long) rank; double factor; long long i;
3 long long my_n = n/thread_count; long long my_first_i = my_n*my_rank; long long my_last_i = my_first_i + my_n; if(my_first_i % 2 == 0) factor = 1; else factor = -1; for(i = my_first_i; i < my_last_i; i++){ sum += factor/(2*i+1); factor = -factor; Example 3 We would like to write a parallel program with p threads. Each thread is interchanging two elements of an array of alphabet. #include <ctype.h> #include <time.h> #define thread_count 10 char a[] = "abcdefghijklmnopqrstuvwxyz "; pthread_mutex_t mutex[26]; void *change(void* rank); int main (){ int thread, i; printf("originally: %sn", a); for (i = 0; i < 26; i++) pthread_mutex_init(&mutex[i], NULL); pthread_create(&thread_handles[thread], NULL, change, (void*) thread);
4 for(i = 0; i < 26; i++) pthread_mutex_destroy(&mutex[i]); printf("now: %sn", a); void *change(void* rank){ int i, j; char t; srandom((unsigned)time(null) + (int)rank); i = random()%26; do j = random()%26; while(i == j); pthread_mutex_lock(&mutex[i]); pthread_mutex_lock(&mutex[j]); printf("thread %d interchanged a[%d] = %c and a[%d] = %c ", (int)rank, i, a[i], j, a[j]); t = a[i]; a[i] = a[j]; a[j] = t; printf("to a[%d] = %c and a[%d] = %cn", i, a[i], j, a[j]); pthread_mutex_unlock(&mutex[j]); pthread_mutex_unlock(&mutex[i]); Output: Originally: abcdefghijklmnopqrstuvwxyz Thread 6 interchanged a[0] = a and a[17] = r to a[0] = r and a[17] = a Thread 7 interchanged a[25] = z and a[5] = f to a[25] = f and a[5] = z Thread 4 interchanged a[5] = z and a[4] = e to a[5] = e and a[4] = z Thread 5 interchanged a[0] = r and a[5] = e to a[0] = e and a[5] = r Thread 9 interchanged a[8] = i and a[19] = t to a[8] = t and a[19] = i Thread 8 interchanged a[22] = w and a[2] = c to a[22] = c and a[2] = w Thread 3 interchanged a[12] = m and a[19] = i to a[12] = i and a[19] = m Thread 2 interchanged a[19] = m and a[2] = w to a[19] = w and a[2] = m Thread 1 interchanged a[6] = g and a[21] = v to a[6] = v and a[21] = g Thread 0 interchanged a[22] = c and a[17] = a to a[22] = a and a[17] = c Now: ebmdzrvhtjklinopqcswugaxyf
5 Example 4 typedef struct{ int rank, a, b; record_type; int thread_count = 4; void *Thread_add(void* args); int thread, x = 1; record_type data[4]; { data[thread].rank = thread; data[thread].a = x++; data[thread].b = x++; pthread_create(&thread_handles[thread], NULL, Thread_add, &data[thread]); void *Thread_add(void* args){ record_type *data = (record_type *)args; printf("in thread %d sum of %d and %d is %dn",data -> rank,data-> a,data-> b,data-> a + data- >b); Output: In thread 3 sum of 7 and 8 is 15 In thread 2 sum of 5 and 6 is 11 In thread 1 sum of 3 and 4 is 7
6 In thread 0 sum of 1 and 2 is Example 5 #define m 6 #define n 5 //Number of rows //Number of columns int** a; int *x, *y; int thread_count = 3; //m must be divisible by this number void read(int* a[], int x[]); void *Pth_mat_vect(void* rank); void print(int* a[], int x[], int y[]); long thread; a=(int**) malloc(m*sizeof(int*)); x = malloc(n * sizeof(int)); y = malloc(n * sizeof(int)); read(a, x); pthread_create(&thread_handles[thread], NULL, Pth_mat_vect, (void*) thread); print(a, x, y); void *Pth_mat_vect(void* rank){ long my_rank = (long) rank; int i, j;
7 int local_m = m/thread_count; int my_first_row = my_rank*local_m; int my_last_row = my_first_row + local_m; for (i = my_first_row; i < my_last_row; i++){ y[i] = 0; for (j = 0; j < n; j++) y[i] += a[i][j] * x[j];
5.12 EXERCISES Exercises 263
5.12 Exercises 263 5.12 EXERCISES 5.1. If it s defined, the OPENMP macro is a decimal int. Write a program that prints its value. What is the significance of the value? 5.2. Download omp trap 1.c from
More informationPthreads: Busy Wait, Mutexes, Semaphores, Condi9ons, and Barriers
Pthreads: Busy Wait, Mutexes, Semaphores, Condi9ons, and Barriers Bryan Mills Chapter 4.2-4.8 Spring 2017 A Shared Memory System Copyright 2010, Elsevier Inc. All rights Reserved Pthreads Pthreads is a
More informationShared Memory: Virtual Shared Memory, Threads & OpenMP
Shared Memory: Virtual Shared Memory, Threads & OpenMP Eugen Betke University of Hamburg Department Informatik Scientific Computing 09.01.2012 Agenda 1 Introduction Architectures of Memory Systems 2 Virtual
More informationAlgorithms 4. Odd or even Algorithm 5. Greatest among three numbers Algorithm 6. Simple Calculator Algorithm
s 4. Odd or even Step 3 : If number divisible by 2 then Print "Number is Even" Step 3.1 : else Print "Number is Odd" Step 4 : Stop 5. Greatest among three numbers Step 2 : Read values of a, b and c Step
More information1. Practice the use of the C ++ repetition constructs of for, while, and do-while. 2. Use computer-generated random numbers.
1 Purpose This lab illustrates the use of looping structures by introducing a class of programming problems called numerical algorithms. 1. Practice the use of the C ++ repetition constructs of for, while,
More informationCGS 3460 Summer 07 Midterm Exam
Short Answer 3 Points Each 1. What would the unix command gcc somefile.c -o someotherfile.exe do? 2. Name two basic data types in C. 3. A pointer data type holds what piece of information? 4. This key
More informationChapter Four: Loops II
Chapter Four: Loops II Slides by Evan Gallagher & Nikolay Kirov Chapter Goals To understand nested loops To implement programs that read and process data sets To use a computer for simulations Processing
More information3/12/2018. Structures. Programming in C++ Sequential Branching Repeating. Loops (Repetition)
Structures Programming in C++ Sequential Branching Repeating Loops (Repetition) 2 1 Loops Repetition is referred to the ability of repeating a statement or a set of statements as many times this is necessary.
More informationQuestion 2. [5 points] Given the following symbolic constant definition
CS 101, Spring 2012 Mar 20th Exam 2 Name: Question 1. [5 points] Determine which of the following function calls are valid for a function with the prototype: void drawrect(int width, int height); Assume
More informationChapter Four: Loops. Slides by Evan Gallagher. C++ for Everyone by Cay Horstmann Copyright 2012 by John Wiley & Sons. All rights reserved
Chapter Four: Loops Slides by Evan Gallagher The Three Loops in C++ C++ has these three looping statements: while for do The while Loop while (condition) { statements } The condition is some kind of test
More informationMonte Carlo Methods. Named by Stanislaw Ulam and Nicholas Metropolis in 1940s for the famous gambling casino in Monaco.
Monte Carlo Methods Named by Stanislaw Ulam and Nicholas Metropolis in 1940s for the famous gambling casino in Monaco. Used in numerous applications. Any method that uses random numbers to solve a problem
More informationIndian Institute of Technology, Kharagpur
Indian Institute of Technology, Kharagpur Department of Computer Science and Engineering Students: 700 Full marks: 60 Mid-Semester Examination, Autumn 2013-14 Programming and Data Structures (CS 11001)
More informationAMCAT Automata Coding Sample Questions And Answers
1) Find the syntax error in the below code without modifying the logic. #include int main() float x = 1.1; switch (x) case 1: printf( Choice is 1 ); default: printf( Invalid choice ); return
More informationOpenMP - exercises - Paride Dagna. May 2016
OpenMP - exercises - Paride Dagna May 2016 Hello world! (Fortran) As a beginning activity let s compile and run the Hello program, either in C or in Fortran. The most important lines in Fortran code are
More informationConcurrent Programming with OpenMP
Concurrent Programming with OpenMP Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico March 7, 2016 CPD (DEI / IST) Parallel and Distributed
More informationPractice problems Set 2
Practice problems Set 2 1) Write a program to obtain transpose of a 4 x 4 matrix. The transpose of matrix is obtained by exchanging the elements of each row with the elements of the corresponding column.
More informationParallelism in Software
Parallelism in Software Minsoo Ryu Department of Computer Science and Engineering 2 1 Parallelism in Software 2 Creating a Multicore Program 3 Multicore Design Patterns 4 Q & A 2 3 Types of Parallelism
More informationCS 223: Data Structures and Programming Techniques. Exam 2
CS 223: Data Structures and Programming Techniques. Exam 2 Instructor: Jim Aspnes Work alone. Do not use any notes or books. You have approximately 75 minutes to complete this exam. Please write your answers
More informationPThreads in a Nutshell
PThreads in a Nutshell Chris Kauffman CS 499: Spring 2016 GMU Logistics Today POSIX Threads Briefly Reading Grama 7.1-9 (PThreads) POSIX Threads Programming Tutorial HW4 Upcoming Post over the weekend
More informationC Programming Language: C ADTs, 2d Dynamic Allocation. Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008
C Programming Language: C ADTs, 2d Dynamic Allocation Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008 Overview Row major format 1 and 2-d dynamic allocation struct
More information1. Basics 1. Write a program to add any two-given integer. Algorithm Code 2. Write a program to calculate the volume of a given sphere Formula Code
1. Basics 1. Write a program to add any two-given integer. Algorithm - 1. Start 2. Prompt user for two integer values 3. Accept the two values a & b 4. Calculate c = a + b 5. Display c 6. Stop int a, b,
More informationCS240: Programming in C. Lecture 18: PThreads
CS240: Programming in C Lecture 18: PThreads Thread Creation Initially, your main() program comprises a single, default thread. pthread_create creates a new thread and makes it executable. This routine
More informationRecursion. Data and File Structures Laboratory. DFS Lab (ISI) Recursion 1 / 20
Recursion Data and File Structures Laboratory http://www.isical.ac.in/~dfslab/2018/index.html DFS Lab (ISI) Recursion 1 / 20 Function calls 1 void main(void) 2 {... 3 u = f(x, y*z); 4... 5 } 6 7 int f(int
More informationCS , Fall 2001 Exam 2
Andrew login ID: Full Name: CS 15-213, Fall 2001 Exam 2 November 13, 2001 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write
More informationIntroduc)on to OpenMP
Introduc)on to OpenMP Chapter 5.1-5. Bryan Mills, PhD Spring 2017 OpenMP An API for shared-memory parallel programming. MP = multiprocessing Designed for systems in which each thread or process can potentially
More informationSolution of Exercise Sheet 2
Solution of Exercise Sheet 2 Exercise 1 (Cluster Computing) 1. Give a short definition of Cluster Computing. Clustering is parallel computing on systems with distributed memory. 2. What is a Cluster of
More informationRecursion. Data and File Structures Laboratory. DFS Lab (ISI) Recursion 1 / 27
Recursion Data and File Structures Laboratory http://www.isical.ac.in/~dfslab/2017/index.html DFS Lab (ISI) Recursion 1 / 27 Definition A recursive function is a function that calls itself. The task should
More information4.8 Summary. Practice Exercises
Practice Exercises 191 structures of the parent process. A new task is also created when the clone() system call is made. However, rather than copying all data structures, the new task points to the data
More informationAt this time we have all the pieces necessary to allocate memory for an array dynamically. Following our example, we allocate N integers as follows:
Pointers and Arrays Part II We will continue with our discussion on the relationship between pointers and arrays, and in particular, discuss how arrays with dynamical length can be created at run-time
More informationCOP 3223 Introduction to Programming with C - Study Union - Spring 2018
COP 3223 Introduction to Programming with C - Study Union - Spring 2018 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationOpenMP - exercises -
OpenMP - exercises - Introduction to Parallel Computing with MPI and OpenMP P.Dagna Segrate, November 2016 Hello world! (Fortran) As a beginning activity let s compile and run the Hello program, either
More informationGPU Programming Using CUDA
GPU Programming Using CUDA Michael J. Schnieders Depts. of Biomedical Engineering & Biochemistry The University of Iowa & Gregory G. Howes Department of Physics and Astronomy The University of Iowa Iowa
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationCSE 230 Intermediate Programming in C and C++ Arrays and Pointers
CSE 230 Intermediate Programming in C and C++ Arrays and Pointers Fall 2017 Stony Brook University Instructor: Shebuti Rayana http://www3.cs.stonybrook.edu/~cse230/ Definition: Arrays A collection of elements
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationName: PID: CSE 160 Final Exam SAMPLE Winter 2017 (Kesden)
Name: PID: Email: CSE 160 Final Exam SAMPLE Winter 2017 (Kesden) Cache Performance (Questions from 15-213 @ CMU. Thanks!) 1. This problem requires you to analyze the cache behavior of a function that sums
More informationArray Initialization
Array Initialization Array declarations can specify initializations for the elements of the array: int primes[10] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ; initializes primes[0] to 2, primes[1] to 3, primes[2]
More informationQ1: /8 Q2: /30 Q3: /30 Q4: /32. Total: /100
ECE 2035(A) Programming for Hardware/Software Systems Fall 2013 Exam Three November 20 th 2013 Name: Q1: /8 Q2: /30 Q3: /30 Q4: /32 Total: /100 1/10 For functional call related questions, let s assume
More information20-EECE-4029 Operating Systems Fall, 2015 John Franco
20-EECE-4029 Operating Systems Fall, 2015 John Franco First Exam Question 1: Barrier name: a) Describe, in general terms, what a barrier is trying to do Undo some of the optimizations that processor hardware
More information#include <stdio.h> int main() { char s[] = Hsjodi, *p; for (p = s + 5; p >= s; p--) --*p; puts(s); return 0;
1. Short answer questions: (a) Compare the typical contents of a module s header file to the contents of a module s implementation file. Which of these files defines the interface between a module and
More informationProgram threaded-fft-mutex.cc
1 // 2D FFT Using threads 2 // George F. Riley, Georgia Tech, Fall 2009 3 // This illustrates how a mutex would be implemented (both a "buggy" version 4 // and a good one). 5 6 #include 7 8
More informationLSN 13 Linux Concurrency Mechanisms
LSN 13 Linux Concurrency Mechanisms ECT362 Operating Systems Department of Engineering Technology LSN 13 Creating Processes fork() system call Returns PID of the child process created The new process is
More informationWhich equation could find the distance from point G to the base of the flagpole?
. The angle of elevation from point G on the ground to the top of a flagpole is 0. The height of the flagpole is 60 feet. 60 feet G 0 Which equation could find the distance from point G to the base of
More informationRandom Numbers Random Walk
Random Numbers Random Walk Computational Physics Random Numbers Random Walk Outline Random Systems Random Numbers Monte Carlo Integration Example Random Walk Exercise 7 Introduction Random Systems Deterministic
More informationFinding Pi: Applications of Loops, Random Numbers, Booleans CS 8: Introduction to Computer Science, Winter 2018 Lecture #6
Finding Pi: Applications of Loops, Random Numbers, Booleans CS 8: Introduction to Computer Science, Winter 2018 Lecture #6 Ziad Matni Dept. of Computer Science, UCSB Administrative New Homework (#3) is
More informationCS 100: Programming Assignment P1
CS 100: Programming Assignment P1 Due: Thursday, February 4. (Either in lecture or in Carpenter by 4pm.) You may work in pairs. Uphold academic integrity. Follow the course rules for the submission of
More informationWeek 3 Lecture 2. Types Constants and Variables
Lecture 2 Types Constants and Variables Types Computers store bits: strings of 0s and 1s Types define how bits are interpreted They can be integers (whole numbers): 1, 2, 3 They can be characters 'a',
More informationSpring CS 170 Exercise Set 1 (Updated with Part III)
Spring 2015. CS 170 Exercise Set 1 (Updated with Part III) Due on May 5 Tuesday 12:30pm. Submit to the CS170 homework box or bring to the classroom. Additional problems will be added as we cover more topics
More informationCSE-160 (Winter 2017, Kesden) Practice Midterm Exam. volatile int count = 0; // volatile just keeps count in mem vs register
Full Name: @ucsd.edu PID: CSE-160 (Winter 2017, Kesden) Practice Midterm Exam 1. Threads, Concurrency Consider the code below: volatile int count = 0; // volatile just keeps count in mem vs register void
More informationCPSC 261 Midterm 2 Thursday March 17 th, 2016
CPSC 261 Midterm 2 Thursday March 17 th, 2016 [9] 1. Multiple choices [5] (a) Among the following terms, circle all of those that refer to a responsibility of a thread scheduler: Solution : Avoiding deadlocks
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 16, SPRING 2013 TOPICS TODAY Project 6 Perils & Pitfalls of Memory Allocation C Function Call Conventions in Assembly Language PERILS
More informationCS/CoE 1541 Final exam (Fall 2017). This is the cumulative final exam given in the Fall of Question 1 (12 points): was on Chapter 4
CS/CoE 1541 Final exam (Fall 2017). Name: This is the cumulative final exam given in the Fall of 2017. Question 1 (12 points): was on Chapter 4 Question 2 (13 points): was on Chapter 4 For Exam 2, you
More informationb. Suppose you enter input from the console, when you run the program. What is the output?
Part I. Show the printout of the following code: (write the printout next to each println statement if the println statement is executed in the program). a. Show the output of the following code: public
More informationNWEN 241 Systems Programming Exercises (Set 1)
1. A null statement in C programming is valid but also mandatory in some cases, e.g. if (isalpha(c)) /* true = nonzero, false = zero */ ; /* empty is ok, but ; must be there */ else return(printf("you
More informationCS , Fall 2001 Exam 2
Andrew login ID: Full Name: CS 15-213, Fall 2001 Exam 2 November 13, 2001 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write
More informationAssoc. Prof. Dr. Tansu FİLİK
Assoc. Prof. Dr. Tansu FİLİK Computer Programming Previously on Bil 200 Midterm Exam - 1 Midterm Exam - 1 126 students Curve: 49,78 Computer Programming Arrays Arrays List of variables: [ ] Computer Programming
More informationRaspberry Pi Basics. CSInParallel Project
Raspberry Pi Basics CSInParallel Project Sep 11, 2016 CONTENTS 1 Getting started with the Raspberry Pi 1 2 A simple parallel program 3 3 Running Loops in parallel 7 4 When loops have dependencies 11 5
More informationEE/CSCI 451 Midterm 1
EE/CSCI 451 Midterm 1 Spring 2018 Instructor: Xuehai Qian Friday: 02/26/2018 Problem # Topic Points Score 1 Definitions 20 2 Memory System Performance 10 3 Cache Performance 10 4 Shared Memory Programming
More informationParallelization Primer. by Christian Bienia March 05, 2007
Parallelization Primer by Christian Bienia March 05, 2007 What is Parallelization? Answer: The creation of a new algorithm! Trivial case: Run sequential algorithm on multiple CPUs, throw locks around shared
More informationProgramming Assignment 3 Due Monday, March 24 (Note the change in the due date)
Department of Computer Science Parallel and Distributed Computing Programming Assignment 3 Due Monday, March 24 (Note the change in the due date) For programming assignment 3 you should write a C program
More informationMain differences with Java
Signals, Instruments, and Systems W2 C Programming (continued) C Main differences with Java C is NOT object oriented. (C++ is OO) C code is directly translated into binary that can be directly executed
More informationAdvanced Crash Course in Supercomputing: Programming Project
Advanced Crash Course in Supercomputing: Programming Project Rebecca Hartman-Baker Oak Ridge National Laboratory hartmanbakrj@ornl.gov 2004-2009 Rebecca Hartman-Baker. Reproduction permitted for non-commercial,
More informationCSC 1351: Quiz 6: Sort and Search
CSC 1351: Quiz 6: Sort and Search Name: 0.1 You want to implement combat within a role playing game on a computer. Specifically, the game rules for damage inflicted by a hit are: In order to figure out
More informationCS 220: Introduction to Parallel Computing. Condition Variables. Lecture 24
CS 220: Introduction to Parallel Computing Condition Variables Lecture 24 Remember: Creating a Thread int pthread_create( pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *),
More informationIndian Institute of Technology Kharagpur Programming and Data Structures (CS10001) Autumn : End-Semester Examination
Indian Institute of Technology Kharagpur Programming and Data Structures (CS10001) Autumn 2017-18: End-Semester Examination Time: 3 Hours Full Marks: 100 INSTRUCTIONS 1. Answer ALL questions. 2. Please
More informationProgram threaded-fft-bakery.cc
1 // 2D FFT Using threads 2 // George F. Riley, Georgia Tech, Fall 2009 3 // This illustrates how a mutex would be implemented using Leslie Lamport s 4 // "Bakery Algorithm". This algorithm implements
More informationSample Examination. Family Name:... Other Names:... Signature:... Student Number:...
Family Name:... Other Names:... Signature:... Student Number:... THE UNIVERSITY OF NEW SOUTH WALES SCHOOL OF COMPUTER SCIENCE AND ENGINEERING Sample Examination COMP1917 Computing 1 EXAM DURATION: 2 HOURS
More informationParallel Programming Languages. HPC Fall 2010 Prof. Robert van Engelen
Parallel Programming Languages HPC Fall 2010 Prof. Robert van Engelen Overview Partitioned Global Address Space (PGAS) A selection of PGAS parallel programming languages CAF UPC Further reading HPC Fall
More information4. Use a loop to print the first 25 Fibonacci numbers. Do you need to store these values in a data structure such as an array or list?
1 Practice problems Here is a collection of some relatively straightforward problems that let you practice simple nuts and bolts of programming. Each problem is intended to be a separate program. 1. Write
More information4) Simplify 5( 6) Simplify. 8) Solve 1 x 2 4
Algebra Summer Assignment 1) Simplify x 4y 10 x ) Simplify 4y 6x 3( x y) 3) Simplify 1 3 ( x 3) 4) Simplify 5( x 9x) (3x 4) 7 5) Simplify ( x 3)( x ) 6) Simplify ( x 4) 3 7) Simplify ( 5x 8)(4x 1) 8) Solve
More informationProgramming and Data Structures
Programming and Data Structures Teacher: Sudeshna Sarkar sudeshna@cse.iitkgp.ernet.in Department of Computer Science and Engineering Indian Institute of Technology Kharagpur #include int main()
More informationDepartment of Computer Science & Engineering Indian Institute of Technology Kharagpur. Practice Sheet #04
Department of Computer Science & Engineering Indian Institute of Technology Kharagpur Topic: Arrays and Strings Practice Sheet #04 Date: 24-01-2017 Instructions: For the questions consisting code segments,
More informationHuawei Test 5. Explanation: P.W. of Rs. 12,880 due 8 months hence=rs. [ (12880*100)/(100+(18*(8/12)))]
Huawei Test 5 1 A man wants to sell his scooter. There are two offers, one at Rs. 12,000 cash and the other a credit of Rs. 12,880 to be paid after 8 months, money being at 18% per annum. Which is the
More informationShared Memory Programming with Pthreads. T. Yang. UCSB CS240A.
Shared Memory Programming with Pthreads T. Yang. UCSB CS240A. Outline Shared memory programming: Overview POSIX pthreads Critical section & thread synchronization. Mutexes. Producer-consumer synchronization
More informationCOS 126 General Computer Science Spring Written Exam 1
COS 126 General Computer Science Spring 2017 Written Exam 1 This exam has 9 questions (including question 0) worth a total of 70 points. You have 50 minutes. Write all answers inside the designated spaces.
More informationParaguin Compiler Examples
Paraguin Compiler Examples 2.1 Generated by Doxygen 1.8.6 Wed May 7 2014 00:44:05 ii CONTENTS Contents 1 File Index 1 1.1 File List................................................ 1 2 File Documentation
More informationComputer Programming 5th Week loops (do-while, for), Arrays, array operations, C libraries
Computer Programming 5th Week loops (do-while, for), Arrays, array operations, C libraries Hazırlayan Asst. Prof. Dr. Tansu Filik Computer Programming Previously on Bil 200 Low-Level I/O getchar, putchar,
More informationMath A Regents Exam 0102 Page 1
Math A Regents Exam 0102 Page 1 1. 010201a, P.I. A.A.19 Expressed in factored form, the binomial 2 2 4a 9b is equivalent to [A] (2a - 9b)(2a + b) [B] (2a + 3b)(2a - 3b) [C] (2a - 3b)(2a - 3b) [D] (4a -
More informationSignals, Instruments, and Systems W2. C Programming (continued)
Signals, Instruments, and Systems W2 C Programming (continued) 1 Resources 2 Remember man? You can use man to show information about functions in the standard libraries of C: e.g. man printf or man atan2
More informationSolutions to Assessment
Solutions to Assessment [1] What does the code segment below print? int fun(int x) ++x; int main() int x = 1; fun(x); printf( %d, x); return 0; Answer : 1. The argument to the function is passed by value.
More informationTypes of Data Structures
DATA STRUCTURES material prepared by: MUKESH BOHRA Follow me on FB : http://www.facebook.com/mukesh.sirji4u The logical or mathematical model of data is called a data structure. In other words, a data
More informationChapter 4 Concurrent Programming
Chapter 4 Concurrent Programming 4.1. Introduction to Parallel Computing In the early days, most computers have only one processing element, known as the Central Processing Unit (CPU). Due to this hardware
More informationIntroduction to OpenMP
Introduction to OpenMP 1 Agenda Introduction to parallel computing Classification of parallel computers What is OpenMP? OpenMP examples 2 Parallel computing A form of computation in which many instructions
More informationCircular Reasoning. Solving Area and Circumference. Problems. WARM UP Determine the area of each circle. Use 3.14 for π.
Circular Reasoning Solving Area and Circumference 3 Problems WARM UP Determine the area of each circle. Use 3.14 for π. 1. 4 in. 2. 3.8 cm LEARNING GOALS Use the area and circumference formulas for a circle
More informationPrevious Lecture: Today s Lecture: Announcements: Nesting if-statements Logical operators short-circuit. Iteration using for
Previous Lecture: Nesting if-statements Logical operators short-circuit Today s Lecture: Iteration using for Announcements: Discussion this week is in the classrooms as listed in Student Center Register
More informationNEXT SET OF SLIDES FROM DENNIS FREY S FALL 2011 CMSC313.
NEXT SET OF SLIDES FROM DENNIS FREY S FALL 2011 CMSC313 http://www.csee.umbc.edu/courses/undergraduate/313/fall11/" Programming in C! Advanced Pointers! Reminder! You can t use a pointer until it points
More informationUnix. Threads & Concurrency. Erick Fredj Computer Science The Jerusalem College of Technology
Unix Threads & Concurrency Erick Fredj Computer Science The Jerusalem College of Technology 1 Threads Processes have the following components: an address space a collection of operating system state a
More informationCSCE 110 PROGRAMMING FUNDAMENTALS. Prof. Amr Goneid AUC Part 7. 1-D & 2-D Arrays
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 7. 1-D & 2-D Arrays Prof. Amr Goneid, AUC 1 Arrays Prof. Amr Goneid, AUC 2 1-D Arrays Data Structures The Array Data Type How to Declare
More informationMA 511: Computer Programming Lecture 2: Partha Sarathi Mandal
MA 511: Computer Programming Lecture 2: http://www.iitg.ernet.in/psm/indexing_ma511/y10/index.html Partha Sarathi Mandal psm@iitg.ernet.ac.in Dept. of Mathematics, IIT Guwahati Semester 1, 2010-11 Largest
More informationProgramming with OpenMP*
Objectives At the completion of this module you will be able to Thread serial code with basic OpenMP pragmas Use OpenMP synchronization pragmas to coordinate thread execution and memory access 2 Agenda
More informationL20 MPI Example, Numerical Integration. Let s now consider a real problem to write a parallel code for. Let s take the case of numerical integration.
Geophysical Computing L20-1 L20 MPI Example, Numerical Integration 1. Numerical Integration Let s now consider a real problem to write a parallel code for. Let s take the case of numerical integration.
More informationCS102: Variables and Expressions
CS102: Variables and Expressions The topic of variables is one of the most important in C or any other high-level programming language. We will start with a simple example: int x; printf("the value of
More informationCS 6400 Lecture 11 Name:
Readers and Writers Example - Granularity Issues. Multiple concurrent readers, but exclusive access for writers. Original Textbook code with ERRORS - What are they? Lecture 11 Page 1 Corrected Textbook
More informationC Pointers. Abdelghani Bellaachia, CSCI 1121 Page: 1
C Pointers 1. Objective... 2 2. Introduction... 2 3. Pointer Variable Declarations and Initialization... 3 4. Reference operator (&) and Dereference operator (*) 6 5. Relation between Arrays and Pointers...
More informationBentley Rules for Optimizing Work
6.172 Performance Engineering of Software Systems SPEED LIMIT PER ORDER OF 6.172 LECTURE 2 Bentley Rules for Optimizing Work Charles E. Leiserson September 11, 2012 2012 Charles E. Leiserson and I-Ting
More informationProcess Synchronization(2)
CSE 3221.3 Operating System Fundamentals No.6 Process Synchronization(2) Prof. Hui Jiang Dept of Computer Science and Engineering York University Semaphores Problems with the software solutions. Not easy
More informationProcess Synchronization(2)
EECS 3221.3 Operating System Fundamentals No.6 Process Synchronization(2) Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University Semaphores Problems with the software solutions.
More informationChapter Goals. Contents LOOPS
CHAPTER 4 LOOPS Slides by Donald W. Smith TechNeTrain.com Final Draft Oct 30, 2011 Chapter Goals To implement while, for, and do loops To hand-trace the execution of a program To become familiar with common
More information2. What are the two main components to the CPU and what do each of them do? 3. What is the difference between a compiler and an interpreter?
COSC 117 Final Exam Spring 2011 Name: Part 1: Definitions & Short Answer (3 Points Each) 1. What do CPU and ALU stand for? 2. What are the two main components to the CPU and what do each of them do? 3.
More informationTables. The Table ADT is used when information needs to be stored and acessed via a key usually, but not always, a string. For example: Dictionaries
1: Tables Tables The Table ADT is used when information needs to be stored and acessed via a key usually, but not always, a string. For example: Dictionaries Symbol Tables Associative Arrays (eg in awk,
More information