File Edit Selection View Go Run Terminal Help C SequentialBucketSort.c 4 X O Search 88 08 23 j 24 25 26 C: > parallel > parallel > C Sequential BucketSort.c > ... void sort(int d[]) { 12 15 18 for (j = d[0]; j > 1; j--) { for (k = 1; k < j; k++) { /* swap d[j] and d[max_index] */ temp = d[j]; d[j] = max; 27 d[max_index] = temp; A 29 30 28 } return; ({) 31 } 32 33 main() { 34 /* generate n random integers in [0, m-1] to be sorted */ 35 36 37 38 39 data[i] = rand() % m; 40 41 42 43 44 45 46 47 } 48 49 50 /* for better speed-up of its parallel version, read Appendic C on Page 540 to use "seqoff" and "seqon" statements to exclude running time for such sequential code not int v, b_i, index; for (i = 1; i <= n; i++) for (i = 1; i <= n; i++) { v = data[i]; b_i = (int)(v/10.0); /* bucket-index = the 10th digit */ /* cout << v << ": " << b_i << "; " << endl; */ index = ++bucket[b_i][0]; /* find index of first unused box for v; */ bucket [b_i][index] = v; for (i = 0; i <= 9; i++) sort (bucket[i]); 51 52 int k = 1; 53 54 55 for (i = 0; i <= 9; i++) for (j = 1; j < bucket[i][0]; j++) sortedData[k++] = bucket[i][j]; 56 57 k--; 58 for (i = 1; i <= k; i++) 59 cout << "d[" ‹‹ i ‹‹ "]=" «< sortedData[i] << endl; 60 } Launchpad 4A0 Live Share Ln 1, Col 1 Tab Size: 4 UTF-8 CRLF {ò c 88 Win32 B File Edit Selection View Go Run Terminal Help O Search C SequentialBucketSort.c 4 X C: > Users > patri > OneDrive > Documents > School Documents > Parallel Programming > Project4 > C SequentialBucketSort.c > ✪ sort(int []) 88 31 } 32 33 main() { до 34 /* generate n random integers in [0, m-1] to be sorted */ 35 昭 36 37 38 /* for better speed-up of its parallel version, read Appendic C on Page 540 to use "seqoff" and "seqon" statements to exclude running time for such sequential code not int v, bi, index; for (i = 1; i <= n; i++) m 39 data[i] = rand() % m; 40 41 42 43 44 45 46 for (i = 1; i <= n; i++) { v = data[i]; b_i = (int)(v/10.0); /* bucket-index = the 10th digit */ /* cout << v << ": " << b_i << "; " << endl; */ index = ++bucket[b_i][0]; /* find index of first unused box for v; */ bucket [b_i][index] = v; 47 } 48 49 50 To 51 52 53 54 55 56 57 k--; 58 KAS 59 60 } for (i = 0; i <= 9; i++) sort (bucket[i]); int k = 1; for (i = 0; i <= 9; i++) for (j = 1; j < bucket[i][0]; j++) sortedData[k++] = bucket[i][j]; for (i = 1; i <= k; i++) cout << "d[" << i << "]=" << sortedData[i] << endl; Launchpad 4A 0 Live Share Ln 16, Col 16 Tab Size: 4 UTF-8 CRLF {C 88 Win32 ✓ Prettier

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter3: Data Representation
Section: Chapter Questions
Problem 13RQ: How is an array stored in main memory? How is a linked list stored in main memory? What are their...
icon
Related questions
Question

I need to make a parallel version of this sequential code

File
Edit Selection View Go Run Terminal Help
C SequentialBucketSort.c 4 X
O Search
88
08
23
j
24
25
26
C: > parallel > parallel > C Sequential BucketSort.c > ...
void sort(int d[]) {
12
15
18
for (j = d[0]; j > 1; j--) {
for (k = 1; k < j; k++) {
/* swap d[j] and d[max_index] */
temp = d[j];
d[j] = max;
27
d[max_index] = temp;
A
29
30
28
}
return;
({)
31
}
32
33
main() {
34
/* generate n random integers in [0, m-1] to be sorted */
35
36
37
38
39
data[i] = rand() % m;
40
41
42
43
44
45
46
47
}
48
49
50
/* for better speed-up of its parallel version, read Appendic C on Page 540 to use "seqoff" and "seqon" statements to exclude running time for such sequential code not
int v, b_i, index;
for (i = 1; i <= n; i++)
for (i = 1; i <= n; i++) {
v = data[i];
b_i = (int)(v/10.0); /* bucket-index = the 10th digit */
/* cout << v << ": " << b_i << "; " << endl; */
index = ++bucket[b_i][0]; /* find index of first unused box for v; */
bucket [b_i][index] = v;
for (i = 0; i <= 9; i++)
sort (bucket[i]);
51
52
int k = 1;
53
54
55
for (i = 0; i <= 9; i++)
for (j = 1; j < bucket[i][0]; j++)
sortedData[k++] = bucket[i][j];
56
57
k--;
58
for (i = 1; i <= k; i++)
59
cout << "d[" ‹‹ i ‹‹ "]=" «< sortedData[i] << endl;
60
}
Launchpad 4A0 Live Share
Ln 1, Col 1
Tab Size: 4 UTF-8 CRLF
{ò c 88 Win32 B
Transcribed Image Text:File Edit Selection View Go Run Terminal Help C SequentialBucketSort.c 4 X O Search 88 08 23 j 24 25 26 C: > parallel > parallel > C Sequential BucketSort.c > ... void sort(int d[]) { 12 15 18 for (j = d[0]; j > 1; j--) { for (k = 1; k < j; k++) { /* swap d[j] and d[max_index] */ temp = d[j]; d[j] = max; 27 d[max_index] = temp; A 29 30 28 } return; ({) 31 } 32 33 main() { 34 /* generate n random integers in [0, m-1] to be sorted */ 35 36 37 38 39 data[i] = rand() % m; 40 41 42 43 44 45 46 47 } 48 49 50 /* for better speed-up of its parallel version, read Appendic C on Page 540 to use "seqoff" and "seqon" statements to exclude running time for such sequential code not int v, b_i, index; for (i = 1; i <= n; i++) for (i = 1; i <= n; i++) { v = data[i]; b_i = (int)(v/10.0); /* bucket-index = the 10th digit */ /* cout << v << ": " << b_i << "; " << endl; */ index = ++bucket[b_i][0]; /* find index of first unused box for v; */ bucket [b_i][index] = v; for (i = 0; i <= 9; i++) sort (bucket[i]); 51 52 int k = 1; 53 54 55 for (i = 0; i <= 9; i++) for (j = 1; j < bucket[i][0]; j++) sortedData[k++] = bucket[i][j]; 56 57 k--; 58 for (i = 1; i <= k; i++) 59 cout << "d[" ‹‹ i ‹‹ "]=" «< sortedData[i] << endl; 60 } Launchpad 4A0 Live Share Ln 1, Col 1 Tab Size: 4 UTF-8 CRLF {ò c 88 Win32 B
File
Edit Selection View Go Run Terminal Help
O Search
C SequentialBucketSort.c 4 X
C: > Users > patri > OneDrive > Documents > School Documents > Parallel Programming > Project4 > C SequentialBucketSort.c > ✪ sort(int [])
88
31
}
32
33
main() {
до
34
/* generate n random integers in [0, m-1] to be sorted */
35
昭
36
37
38
/* for better speed-up of its parallel version, read Appendic C on Page 540 to use "seqoff" and "seqon" statements to exclude running time for such sequential code not
int v, bi, index;
for (i = 1; i <= n; i++)
m
39
data[i] = rand() % m;
40
41
42
43
44
45
46
for (i = 1; i <= n; i++) {
v = data[i];
b_i = (int)(v/10.0); /* bucket-index = the 10th digit */
/* cout << v << ": " << b_i << "; " << endl; */
index = ++bucket[b_i][0]; /* find index of first unused box for v; */
bucket [b_i][index] = v;
47
}
48
49
50
To
51
52
53
54
55
56
57
k--;
58
KAS
59
60
}
for (i = 0; i <= 9; i++)
sort (bucket[i]);
int k = 1;
for (i = 0; i <= 9; i++)
for (j = 1; j < bucket[i][0]; j++)
sortedData[k++] = bucket[i][j];
for (i = 1; i <= k; i++)
cout << "d[" << i << "]=" << sortedData[i] << endl;
Launchpad 4A 0 Live Share
Ln 16, Col 16
Tab Size: 4
UTF-8 CRLF {C 88
Win32
✓ Prettier
Transcribed Image Text:File Edit Selection View Go Run Terminal Help O Search C SequentialBucketSort.c 4 X C: > Users > patri > OneDrive > Documents > School Documents > Parallel Programming > Project4 > C SequentialBucketSort.c > ✪ sort(int []) 88 31 } 32 33 main() { до 34 /* generate n random integers in [0, m-1] to be sorted */ 35 昭 36 37 38 /* for better speed-up of its parallel version, read Appendic C on Page 540 to use "seqoff" and "seqon" statements to exclude running time for such sequential code not int v, bi, index; for (i = 1; i <= n; i++) m 39 data[i] = rand() % m; 40 41 42 43 44 45 46 for (i = 1; i <= n; i++) { v = data[i]; b_i = (int)(v/10.0); /* bucket-index = the 10th digit */ /* cout << v << ": " << b_i << "; " << endl; */ index = ++bucket[b_i][0]; /* find index of first unused box for v; */ bucket [b_i][index] = v; 47 } 48 49 50 To 51 52 53 54 55 56 57 k--; 58 KAS 59 60 } for (i = 0; i <= 9; i++) sort (bucket[i]); int k = 1; for (i = 0; i <= 9; i++) for (j = 1; j < bucket[i][0]; j++) sortedData[k++] = bucket[i][j]; for (i = 1; i <= k; i++) cout << "d[" << i << "]=" << sortedData[i] << endl; Launchpad 4A 0 Live Share Ln 16, Col 16 Tab Size: 4 UTF-8 CRLF {C 88 Win32 ✓ Prettier
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
New Perspectives on HTML5, CSS3, and JavaScript
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:
9781305503922
Author:
Patrick M. Carey
Publisher:
Cengage Learning
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr