home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.parl.clemson.edu
/
2015-02-07.ftp.parl.clemson.edu.tar
/
ftp.parl.clemson.edu
/
pub
/
coven
/
coven-utils-1.1.tgz
/
coven-utils-1.1.tar
/
utils
/
coven-language
/
language-example.txt
< prev
next >
Wrap
Text File
|
2003-01-23
|
5KB
|
153 lines
MODULES {
module nbody_generate_planar {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_generate_planar.so",
const parameter int total_num_bodies,
const parameter int num_processors,
const parameter float grid_spacing,
const parameter float body_mass,
output buffer MEDEA_BODY my_bodies
}
module nbody_scatter {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_scatter.so",
const parameter int num_slave_procs,
inout buffer MEDEA_BODY my_bodies
}
module nbody_copy_buffer {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_copy_buffer.so",
inout buffer MEDEA_BODY my_bodies,
output buffer MEDEA_BODY shift_bodies
}
module nbody_compute_forces {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_compute_forces.so",
const parameter float gravitational_constant,
const parameter float min_collision_distance,
const parameter float timestep,
inout buffer MEDEA_BODY my_bodies,
inout buffer MEDEA_BODY shift_bodies
}
module nbody_parallel_shift {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_parallel_shift.so",
inout buffer MEDEA_BODY shift_bodies
}
module nbody_compute_positions {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_compute_positions.so",
const parameter float timestep,
inout buffer MEDEA_BODY my_bodies
}
module nbody_visualize {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_visualize.so",
const parameter float timestep,
const parameter string vis_hostname,
const parameter int vis_portnumber,
const parameter int total_num_bodies,
const parameter int num_slave_procs,
input parameter int current_iteration,
input buffer MEDEA_BODY my_bodies,
static parameter int visualization_socket
}
module nbody_gather {
"/home/ndebard/Coven/CovenDriver/bin/modules//nbody_gather.so",
const parameter int total_num_bodies,
const parameter int num_slave_procs,
input buffer MEDEA_BODY to_gather_bodies
}
}
CONSTANTS {
int __total_num_bodies = 900;
int __num_processors = 2;
float __grid_spacing = 0.5;
float __body_mass = 0.05;
float __gravitational_constant = 66.73;
float __min_collision_distance = 0.01;
float __timestep = 0.001;
string __vis_hostname = "130.127.24.33";
int __vis_portnumber = 12345;
int __loop_max_iterations = 1000;
}
VARIABLES {
buffer MEDEA_BODY nbody_generate_planar_my_bodies;
buffer MEDEA_BODY nbody_copy_buffer_shift_bodies;
int __visualization_socket;
int __loop_iteration;
int __loop_step;
}
PROGRAM {
THREAD {
nbody_generate_planar(
__total_num_bodies,
__num_processors,
__grid_spacing,
__body_mass,
nbody_generate_planar_my_bodies
);
}
THREAD {
nbody_scatter(
__num_processors,
nbody_generate_planar_my_bodies
);
}
PARALLEL {
for(
__loop_iteration = 1;
__loop_iteration <= __loop_max_iterations;
__loop_iteration += 1)
{
THREAD {
nbody_copy_buffer(
nbody_generate_planar_my_bodies,
nbody_copy_buffer_shift_bodies
);
}
for(
__loop_step = 1;
__loop_step <= __num_processors;
__loop_step += 1)
{
THREAD {
nbody_compute_forces(
__gravitational_constant,
__min_collision_distance,
__timestep,
nbody_generate_planar_my_bodies,
nbody_copy_buffer_shift_bodies
);
}
THREAD {
nbody_parallel_shift(
nbody_copy_buffer_shift_bodies
);
}
}
THREAD {
nbody_compute_positions(
__timestep,
nbody_generate_planar_my_bodies
);
}
THREAD {
nbody_visualize(
__timestep,
__vis_hostname,
__vis_portnumber,
__total_num_bodies,
__num_processors,
__loop_iteration,
nbody_generate_planar_my_bodies,
__visualization_socket
);
}
}
}
THREAD {
nbody_gather(
__total_num_bodies,
__num_processors,
nbody_generate_planar_my_bodies
);
}
}