// matmul_thread16.java for compare with matmul_thread16 import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; public class matmul_thread16 { int nthread = 16; 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_thread16() { double twall = 0.0, tcpu = 0.0, total_tcpu; System.out.println("matmul_thread16.java running"); System.out.println("DIM="+DIM+", nthread="+nthread); // initialize arrays (not timed) for(int i=0; i