001
002 /**
003 * Hello World with OpenMP for Java,
004 * @author Heinz Kredel.
005 */
006
007 import jomp.runtime.*;
008
009 public class HelloJomp {
010
011
012 public static void main(String[] args) {
013
014 int myid = 1;
015
016 // OMP PARALLEL BLOCK BEGINS
017 {
018 __omp_Class0 __omp_Object0 = new __omp_Class0();
019 // shared variables
020 __omp_Object0.args = args;
021 // firstprivate variables
022 try {
023 jomp.runtime.OMP.doParallel(__omp_Object0);
024 } catch(Throwable __omp_exception) {
025 System.err.println("OMP Warning: Illegal thread exception ignored!");
026 System.err.println(__omp_exception);
027 }
028 // reduction variables
029 // shared variables
030 args = __omp_Object0.args;
031 }
032 // OMP PARALLEL BLOCK ENDS
033
034 }
035
036 // OMP PARALLEL REGION INNER CLASS DEFINITION BEGINS
037 private static class __omp_Class0 extends jomp.runtime.BusyTask {
038 // shared variables
039 String [ ] args;
040 // firstprivate variables
041 // variables to hold results of reduction
042
043 public void go(int __omp_me) throws Throwable {
044 // firstprivate variables + init
045 // private variables
046 int myid;
047 // reduction variables, init to default
048 // OMP USER CODE BEGINS
049
050 {
051 myid= OMP.getThreadNum();
052 System.out.println("Hallo Welt von " + myid + "!");
053 }
054 // OMP USER CODE ENDS
055 // call reducer
056 // output to _rd_ copy
057 if (jomp.runtime.OMP.getThreadNum(__omp_me) == 0) {
058 }
059 }
060 }
061 // OMP PARALLEL REGION INNER CLASS DEFINITION ENDS
062
063 }
064