// matmul_thread4.java 4 threads for 4 or more cores, parallel execution import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; public class matmul_thread4 { int nthread = 4; double cpu_start[] = new double[nthread]; // for each thread double cpu_end[] = new double[nthread]; int DIM = 2048; double a[][] = new double[DIM][DIM]; double b[][] = new double[DIM][DIM]; double c[][] = new double[DIM][DIM]; Thread t[] = new Thread[nthread]; ThreadMXBean tb = ManagementFactory.getThreadMXBean(); public matmul_thread4() { double twall = 0.0, tcpu = 0.0, total_tcpu; System.out.println("matmul_thread4.java running"); System.out.println("DIM="+DIM+", nthread="+nthread); // initialize arrays (not timed) for(int i=0; i