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