Sunteți pe pagina 1din 23

!

!
$

"
# "
%

"

'
"
(
)
! *
! ,
- .
- 0
- $
$
! ."
! *

$
)

+
/

2
#

)
3

*
#

3
44

&

6
void
array_add(int A[], int B[], int C[], int length) {
int i;
for (i = 0 ; i < length ; ++ i) {
C[i] = A[i] + B[i];
}
}

6
void
array_add(int A[], int B[], int C[], int length) {
int i;
for (i = 0 ; i < length ; ++ i) {
C[i] = A[i] + B[i];
}
}

6
void
array_add(int A[], int B[], int C[], int length) {
int i;
for (i = 0 ; i < length ; ++ i) {
C[i] = A[i] + B[i];
}
}
! "# "

7 7 77

:
;

<

$
- $

&>

8
&
=
"
>
"
8

&>#

%
?; ; @ A ?; ; B

,C "
::.
,C "
::.&
::.&
::.&
"
::.&
"
::.&

8 D 5&
& D =8
= D>
>D =
8 D 5&
D &>

4.0 (32 bits)

4.0 (32 bits)

3.5 (32 bits)

-2.0 (32 bits)

-1.5 (32 bits)

2.0 (32 bits)

1.7 (32 bits)

2.3 (32 bits)

2.5 (32 bits)

6.0 (32 bits)

5.2 (32 bits)

0.3 (32 bits)

&
0

'
)

unsigned
sum_array(unsigned *array, int length) {
int total = 0;
for (int i = 0 ; i < length ; ++ i) {
total += array[i];
}
return total;
}
F

(
unsigned
sum_array2(unsigned *array, int length) {
unsigned total, i;
unsigned temp[4] = {0, 0, 0, 0};
for (i = 0 ; i < length & ~0x3 ; i += 4) {
temp[0] += array[i];
temp[1] += array[i+1];
temp[2] += array[i+2];
temp[3] += array[i+3];
}
total = temp[0] + temp[1] + temp[2] + temp[3];
for ( ; i < length ; ++ i) {
total += array[i];
}
return total;
}

>

&

&

unsigned
sum_array2(unsigned *array, int length) {
unsigned total, i;
unsigned temp[4] = {0, 0, 0, 0};
for (i = 0 ; i < length & ~0x3 ; i += 4) {
temp[0] += array[i];
temp[1] += array[i+1];
temp[2] += array[i+2];
temp[3] += array[i+3];
}
total = temp[0] + temp[1] + temp[2] + temp[3];
for ( ; i < length ; ++ i) {
total += array[i];
}
return total;
}

%
.)

*+
2

,-

,%

(; C

9
@

*+
+

&
;

./

012) 5 C

& )>=

C6

0) 6
#

G
:;<

>

(
0

3 &'
)

&

&

"

44

! C
5

&
#

'
F

void
array_add(int A[], int B[], int C[], int length) {
int i;
for (i = 0 ; i < length ; ++i) {
C[i] = A[i] + B[i];
}
}

,-

,%

&
"

&

'

! %
%

2
!
!

"
6:&8

8*9
)

:
+,
&+(
5+H

8$;

"

0#
0
0#
void
array_add(int A[], int B[], int C[], int length) {
cpu_num = fork(N-1);
int i;
for (i = cpu_num ; i < length ; i += N) {
C[i] = A[i] + B[i];
}
join();
}

< &

'

"
"

J
"
)

,-) 5

> " &

>

,-) 5

> " &

:
$

3 &

)
@K

)
+I

#
5#

-*

3 &

#
)

A#
0

-#

?
F

,%)

void
array_add(int A[], int B[], int C[], int length) {
cpu_num = fork(N-1);
int i;
for (i = cpu_num ; i < length ; i += N) {
C[i] = A[i] + B[i];
}
join();
}

1
" "
;
<

" "

3 &
#

-*

@
&@

#
$
(

"

<

<"
! <
! +

)
)

7
<

!
!
!
!

I "
I "
<
L

'
!

;C

88
4

)
"
)
"

&

B
M
%
! '

"
/

GBK
" +
&&

;
#
!:
!L

"
C6 2
;

.)
!$
!(
!'

+
"
/

3
)

"
;C

, #H
!$
1
! .)
-$
- '"

1
C

/ N
1

&5

S-ar putea să vă placă și