docs: protected void pushToGrid(OpDescriptor descriptor, boolean flush) {
  
          // we should just add op to queue here
          //deviceQueues.get().add(descriptor);
  
          // FIXME: following code should be removed, since it's just executing supers instead of batching
  
          execCounter.incrementAndGet();
  
          Op op = descriptor.getOp();
          int[] dimensions = descriptor.getDimensions();
  
          if (op instanceof TransformOp) {
              TransformOp t = (TransformOp) op;
              if (flush)
                  flushQueue();
  
              //logger.info("Sending TransformOp to CudaExecutioner");
              super.invoke(t);
          } else if (op instanceof Variance) {
              Variance acc = (Variance) op;
              if (flush)
                  flushQueue();
  
              super.naiveExec(acc, dimensions);
          } else if (op instanceof ReduceOp) {
              ReduceOp acc = (ReduceOp) op;
              if (flush)
                  flushQueue();
  
              //logger.info("Sending AccumulationOp to CudaExecutioner: {}", Arrays.toString(dimensions));
              super.naiveExec(acc, dimensions);
          } else if (op instanceof ScalarOp) {
              ScalarOp sc = (ScalarOp) op;
              if (flush)
                  flushQueue();
  
              //logger.info("Sending ScalarOp to CudaExecutioner");
              super.invoke(sc);
          } else if (op instanceof BroadcastOp) {
              BroadcastOp broadcastOp = (BroadcastOp) op;
              if (flush)
                  flushQueue();
  
              //logger.info("Sending BroadcastOp to CudaExecutioner");
              if (dimensions != null) {
                  super.exec(broadcastOp);
              } else {
                  super.invoke(broadcastOp);
              }
          } else if (op instanceof IndexAccumulation) {
              IndexAccumulation indexAccumulation = (IndexAccumulation) op;
              if (flush)
                  flushQueue();
  
              //logger.info("Sending IndexAccumulationOp to CudaExecutioner");
              //super.exec(indexAccumulation, dimensions);
          } else if (op instanceof MetaOp) {
              //     logger.info("Executing MetaOp");
              metaCounter.incrementAndGet();
              exec((MetaOp) op);
          } else if (op instanceof GridOp) {
              //    logger.info("Executing GridOp");
              exec((GridOp) op);
          }
      }