Пример #1
0
def saveWorkflow(f, mods, numSlaves, remote):
   f.write("\n")

   for m in mods:
      hub = _vistle.getHub(m)
      if (remote and hub==getMasterHub()) or (not remote and hub!=getMasterHub()):
            continue
      #f.write(modvar(m)+" = spawn('"+_vistle.getModuleName(m)+"')\n")
      f.write("u"+modvar(m)+" = spawnAsync("+hubVarForModule(m, numSlaves)+", '"+_vistle.getModuleName(m)+"')\n")

   for m in mods:
      hub = _vistle.getHub(m)
      if (remote and hub==getMasterHub()) or (not remote and hub!=getMasterHub()):
            continue
      f.write(modvar(m)+" = waitForSpawn(u"+modvar(m)+")\n")
      saveParameters(f, m)

   for m in mods:
      hub = _vistle.getHub(m)
      if (not remote and hub!=getMasterHub()):
            continue
      ports = getOutputPorts(m)
      for p in ports:
         conns = getConnections(m, p)
         for c in conns:
            hub2 = _vistle.getHub(c[0])
            if (remote and hub==getMasterHub() and hub2==getMasterHub()) or (not remote and (hub!=getMasterHub() or hub2!=getMasterHub())):
               continue
            f.write("connect("+modvar(m)+",'"+str(p)+"', "+modvar(c[0])+",'"+str(c[1])+"')\n")
Пример #2
0
def saveWorkflow(f, mods, numSlaves, remote):
    f.write("\n")

    if remote:
        f.write("# spawn all remote modules\n")
    else:
        f.write("# spawn all local modules\n")
    for m in mods:
        hub = _vistle.getHub(m)
        if (remote and hub == _vistle.getMasterHub()) or (
                not remote and hub != _vistle.getMasterHub()):
            continue
        #f.write(modvar(m)+" = spawn('"+_vistle.getModuleName(m)+"')\n")
        f.write("u" + modvar(m) + " = spawnAsync(" +
                hubVarForModule(m, numSlaves) + ", '" +
                _vistle.getModuleName(m) + "')\n")
    f.write("\n")

    for m in mods:
        hub = _vistle.getHub(m)
        if (remote and hub == _vistle.getMasterHub()) or (
                not remote and hub != _vistle.getMasterHub()):
            continue
        f.write(modvar(m) + " = waitForSpawn(u" + modvar(m) + ")\n")
        saveParameters(f, m)

    if remote:
        f.write("# connections between local and remote\n")
    else:
        f.write("# all local connections\n")
    writtenConns = []
    for m in mods:
        hub = _vistle.getHub(m)
        if (not remote and hub != _vistle.getMasterHub()):
            continue
        ports = _vistle.getOutputPorts(m)
        params = _vistle.getParameters(m)
        all = ports + params
        for p in all:
            conns = _vistle.getConnections(m, p)
            for c in conns:
                hub2 = _vistle.getHub(c[0])
                if (remote and hub == _vistle.getMasterHub()
                        and hub2 == _vistle.getMasterHub()) or (
                            not remote and
                            (hub != _vistle.getMasterHub()
                             or hub2 != _vistle.getMasterHub())):
                    continue
                if [str(m), p] in writtenConns:
                    continue
                else:
                    f.write("connect(" + modvar(m) + ",'" + str(p) + "', " +
                            modvar(c[0]) + ",'" + str(c[1]) + "')\n")
                    writtenConns.append([str(c[0]), c[1]])
Пример #3
0
def showRunning():
    running = _vistle.getRunning()
    print("id\tname\thub")
    for id in running:
        name = _vistle.getModuleName(id)
        hub = _vistle.getHub(id)
        print("%s\t%s\t%s" % (id, name, hub))
Пример #4
0
def save2(file, moduleList):
    file.write("MasterHub=getMasterHub()\n")
    file.write("VistleSession=getVistleSession()\n")

    master = getMasterHub()
    slavehubs = set()
    for m in moduleList:
        h = _vistle.getHub(m)
        if h != master:
            slavehubs.add(h)
    numSlaves = len(slavehubs)

    file.write("uuids = {}\n")

    saveParameters(file, getVistleSession())
    saveWorkflow(file, moduleList, numSlaves, False)

    if numSlaves > 1:
        print("slave hubs: %s" % slavehubs)
        file.write("slavehubs = waitForHubs(" + str(numSlaves) + ")\n")
        count = 0
        for h in slavehubs:
            file.write(
                hubVar(h, numSlaves) + " = slavehubs[" + str(count) + "]\n")
            count = count + 1
    elif numSlaves > 0:
        print("slave hubs: %s" % slavehubs)
        file.write("print('waiting for a slave hub to connect...')\n")
        file.write("printInfo('waiting for a slave hub to connect...')\n")
        file.write("SlaveHub=waitForHub()\n")
        file.write("print('slave hub %s connected\\n' % SlaveHub)\n")
        file.write("printInfo('slave hub %s connected\\n' % SlaveHub)\n")

    saveWorkflow(file, moduleList, numSlaves, True)
Пример #5
0
def showRunning():
   running = _vistle.getRunning()
   print("id\tname\thub")
   for id in running:
      name = _vistle.getModuleName(id)
      hub = _vistle.getHub(id)
      print("%s\t%s\t%s" % (id, name, hub))
Пример #6
0
def hubvar(id, numSlaves):
    hub = _vistle.getHub(id)
    if (hub == getMasterHub()):
        return "MasterHub"
    if (numSlaves == 1):
        return "SlaveHub"
    return "Slave" + str(hub)
Пример #7
0
def hubvar(id, numSlaves):
   hub = _vistle.getHub(id)
   if (hub == getMasterHub()):
      return "MasterHub"
   if (numSlaves == 1):
      return "SlaveHub"
   return "Slave"+str(hub);
Пример #8
0
def save(filename=None):
    global _loaded_file
    if filename == None:
        filename = _loaded_file
    if filename == None:
        print("No file loaded and no file specified")
        return

    f = open(filename, 'w')
    mods = _vistle.getRunning()

    master = getMasterHub()
    f.write("MasterHub=" + str(master) + "\n")

    slavehubs = set()
    for m in mods:
        h = _vistle.getHub(m)
        if h != master:
            slavehubs.add(h)
    numSlaves = len(slavehubs)
    if numSlaves > 1:
        print("slave hubs: %s" % slavehubs)
        f.write("waitForSlaves()\n")
        f.write("waitForHub()\n")
    elif numSlaves > 0:
        print("slave hubs: %s" % slavehubs)
        f.write("print('waiting for a slave hub to connect...')\n")
        f.write("printInfo('waiting for a slave hub to connect...')\n")
        f.write("SlaveHub=waitForHub()\n")
        f.write("print('slave hub %s connected\\n' % SlaveHub)\n")
        f.write("printInfo('slave hub %s connected\\n' % SlaveHub)\n")

    f.write("uuids = {}\n")
    for m in mods:
        #f.write(modvar(m)+" = spawn('"+_vistle.getModuleName(m)+"')\n")
        f.write("u" + modvar(m) + " = spawnAsync(" + hubvar(m, numSlaves) +
                ", '" + _vistle.getModuleName(m) + "')\n")

    for m in mods:
        f.write(modvar(m) + " = waitForSpawn(u" + modvar(m) + ")\n")
        params = getParameters(m)
        for p in params:
            if not isParameterDefault(m, p):
                f.write("set" + getParameterType(m, p) + "Param(" + modvar(m) +
                        ", '" + p + "', " + str(getSavableParam(m, p)) + ")\n")
        f.write("\n")

    for m in mods:
        ports = getOutputPorts(m)
        for p in ports:
            conns = getConnections(m, p)
            for c in conns:
                f.write("connect(" + modvar(m) + ",'" + str(p) + "', " +
                        modvar(c.first) + ",'" + str(c.second) + "')\n")

    #f.write("checkMessageQueue()\n")

    f.close()
    print("Data flow network saved to " + filename)
Пример #9
0
def save(filename = None):
   global _loaded_file
   if filename == None:
      filename = _loaded_file
   if filename == None:
      print("No file loaded and no file specified")
      return

   f = open(filename, 'w')
   mods = _vistle.getRunning()

   master = getMasterHub()
   f.write("MasterHub="+str(master)+"\n")

   slavehubs = set()
   for m in mods:
      h = _vistle.getHub(m)
      if h != master:
         slavehubs.add(h)
   numSlaves = len(slavehubs)
   if numSlaves > 1:
      print("slave hubs: %s" % slavehubs)
      f.write("waitForSlaves()\n")
      f.write("waitForHub()\n")
   elif numSlaves > 0:
      print("slave hubs: %s" % slavehubs)
      f.write("print('waiting for a slave hub to connect...')\n")
      f.write("SlaveHub=waitForHub()\n")
      f.write("print('slave hub %s connected\\n' % SlaveHub)\n")

   f.write("uuids = {}\n");
   for m in mods:
      #f.write(modvar(m)+" = spawn('"+_vistle.getModuleName(m)+"')\n")
      f.write("u"+modvar(m)+" = spawnAsync("+hubvar(m, numSlaves)+", '"+_vistle.getModuleName(m)+"')\n")

   for m in mods:
      f.write(modvar(m)+" = waitForSpawn(u"+modvar(m)+")\n")
      params = getParameters(m)
      for p in params:
         if not isParameterDefault(m, p):
            f.write("set"+getParameterType(m,p)+"Param("+modvar(m)+", '"+p+"', "+str(getSavableParam(m,p))+")\n")
      f.write("\n")

   for m in mods:
      ports = getOutputPorts(m)
      for p in ports:
         conns = getConnections(m, p)
         for c in conns:
            f.write("connect("+modvar(m)+",'"+str(p)+"', "+modvar(c.first)+",'"+str(c.second)+"')\n")

   #f.write("checkMessageQueue()\n")

   f.close()
   print("Data flow network saved to "+filename)
Пример #10
0
def save(filename = None):
   global _loaded_file
   if filename == None:
      filename = _loaded_file
   if filename == None:
      print("No file loaded and no file specified")
      return

   f = open(filename, 'w')
   mods = _vistle.getRunning()

   master = getMasterHub()
   f.write("MasterHub=getMasterHub()\n")
   f.write("VistleSession=getVistleSession()\n")

   slavehubs = set()
   for m in mods:
      h = _vistle.getHub(m)
      if h != master:
         slavehubs.add(h)
   numSlaves = len(slavehubs)

   f.write("uuids = {}\n");

   saveParameters(f, getVistleSession())
   saveWorkflow(f, mods, numSlaves, False)

   if numSlaves > 1:
      print("slave hubs: %s" % slavehubs)
      f.write("slavehubs = waitForHubs("+str(numSlaves)+")\n")
      count = 0
      for h in slavehubs:
          f.write(hubVar(h, numSlaves) + " = slavehubs["+str(count)+"]\n")
          count = count+1
   elif numSlaves > 0:
      print("slave hubs: %s" % slavehubs)
      f.write("print('waiting for a slave hub to connect...')\n")
      f.write("printInfo('waiting for a slave hub to connect...')\n")
      f.write("SlaveHub=waitForHub()\n")
      f.write("print('slave hub %s connected\\n' % SlaveHub)\n")
      f.write("printInfo('slave hub %s connected\\n' % SlaveHub)\n")

   saveWorkflow(f, mods, numSlaves, True)

   #f.write("checkMessageQueue()\n")

   f.close()
   print("Data flow network saved to "+filename)
Пример #11
0
def hubVarForModule(id, numSlaves):
    hub = _vistle.getHub(id)
    return hubVar(hub, numSlaves)
Пример #12
0
def hubVarForModule(id, numSlaves):
   hub = _vistle.getHub(id)
   return hubVar(hub, numSlaves)