Ada experts, Maybe you can help me: I am trying to get the following program to execute on a 6-CPU SGI ONYX-2 R12000 based system. The system is running IRIX 6.5 and I am using GNAT Ada-95 version 3.11p for SGI. The program does compile and run but it only uses 1 CPU and I would like for it to execute on 3 CPUs. This program is a prototype for a much larger program. Do I need to set an environment variable or am I using the wrong Ada-95 construct? Is there a PRAGMA I should use? Please post all answers to this NG. TIA, -Jay -- ****************************************************************** with text_io; with integer_text_io; with tems_floating_point_std; with floating_point_math_lib; with fp_display; with higher_functions; with wexzal; use tems_floating_point_std; use floating_point_math_lib; use higher_functions; use wexzal; procedure hog is task type wzlsum(upper_limit: integer); task body wzlsum is x :floating_point; s :floating_point; begin for i in 1..upper_limit loop x:=floating_point(i); s:=s+1.0/(x*wzl(x)); end loop; text_io.put("Sum for n="); integer_text_io.put(upper_limit); text_io.put(" is S="); fp_display.prt(s); text_io.new_line; end wzlsum; cpu_hog_5 :wzlsum(5000000); -- Do big calculation in parallel cpu_hog_4 :wzlsum(4000000); cpu_hog_3 :wzlsum(3000000); begin text_io.put_line("Program HOG is done!"); end hog;