docs: public void broadcast(INDArray array) {
          if (array == null)
              return;
  
          Nd4j.getExecutioner().commit();
  
          val config = OpProfiler.getInstance().getConfig();
          val locality = config.isCheckLocality();
  
          if (locality)
              config.setCheckLocality(false);
  
          int numDevices = Nd4j.getAffinityManager().getNumberOfDevices();
          for (int i = 0; i < numDevices; i++) {
              // if current thread equal to this device - we just save it, without duplication
              if (Nd4j.getAffinityManager().getDeviceForCurrentThread() == i) {
                  set(i, array);
              } else {
                  set(i, Nd4j.getAffinityManager().replicateToDevice(i, array));
              }
  
          }
  
          config.setCheckLocality(locality);
      }