     {"root", required_argument, 0, 'r'},
     {"blocking", required_argument, 0, 'z'},
     {"cudagraph", required_argument, 0, 'G'},
+    {"average", required_argument, 0, 'a'},
     {"help", no_argument, 0, 'h'}
   };
 
   while(1) {
     int c;
-    c = getopt_long(argc, argv, "t:g:b:e:i:f:n:m:w:p:c:o:d:r:z:hG:", longopts, &longindex);
+    c = getopt_long(argc, argv, "t:g:b:e:i:f:n:m:w:p:c:o:d:r:z:hG:a:", longopts, &longindex);
 
     if (c == -1)
       break;

            "[-r,--root <root>] \n\t"
            "[-z,--blocking <0/1>] \n\t"
            "[-G,--cudagraph <num graph launches>] \n\t"
            "[-h,--help]\n",
	    basename(argv[0]));
	return 0;

        printf("Option -G (CUDA graph) not supported before NCCL 2.9 + CUDA 11.3. Ignoring\n");
#endif
        break;
#ifdef MPI_SUPPORT
      case 'a':
        average = (int)strtol(optarg, NULL, 0);
        break;
#endif
      default:
        if (c != 'h') printf("invalid option '%c'\n", c);
        printf("USAGE: %s \n\t"
