Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F121365861
algorithm_final.c
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Jul 10, 08:03
Size
1 KB
Mime Type
text/x-c
Expires
Sat, Jul 12, 08:03 (2 d)
Engine
blob
Format
Raw Data
Handle
27315931
Attached To
R10834 Project_multiproc
algorithm_final.c
View Options
/*
============================================================================
Filename : algorithm.c
Author : Your names go here
SCIPER : Your SCIPER numbers
============================================================================
*/
#include <math.h>
#include <stdio.h>
#define INPUT(I,J) input[(I)*length+(J)]
#define OUTPUT(I,J) output[(I)*length+(J)]
void
simulate
(
double
*
input
,
double
*
output
,
int
threads
,
int
length
,
int
iterations
)
{
double
*
temp
;
const
int
B
=
8
;
omp_set_num_threads
(
threads
);
for
(
int
n
=
0
;
n
<
iterations
;
n
++
)
{
int
i
=
0
;
int
j
=
0
;
#pragma omp parallel for private(i,j)
for
(
int
kk
=
0
;
kk
<
(
length
-
1
)
*
(
length
-
1
)
-
1
;
kk
+=
B
)
{
for
(
int
k
=
kk
;
i
<
kk
+
B
;
k
++
)
{
i
=
k
/
(
length
-
2
)
+
1
;
j
=
k
%
(
length
-
2
)
+
1
;
if
(
((
i
==
length
/
2
-
1
)
||
(
i
==
length
/
2
))
&&
((
j
==
length
/
2
-
1
)
||
(
j
==
length
/
2
))
)
continue
;
if
((
i
<
length
-
1
)
&&
(
j
<
length
-
1
))
{
OUTPUT
(
i
,
j
)
=
(
INPUT
(
i
-
1
,
j
-
1
)
+
INPUT
(
i
-
1
,
j
)
+
INPUT
(
i
-
1
,
j
+
1
)
+
INPUT
(
i
,
j
-
1
)
+
INPUT
(
i
,
j
)
+
INPUT
(
i
,
j
+
1
)
+
INPUT
(
i
+
1
,
j
-
1
)
+
INPUT
(
i
+
1
,
j
)
+
INPUT
(
i
+
1
,
j
+
1
))
/
9
;
}
}
}
temp
=
input
;
input
=
output
;
output
=
temp
;
}
}
Event Timeline
Log In to Comment