コード例 #1
0
	# 3-sigma target yield
	yt=YieldTargeting(
		designParams, statParams, opParams, 
		heads, analyses, measures, variables=variables, 
		beta=3.0, wcSpecs=wcList, 
		# Comment out to use default initial point (lo+hi)/2
		# initial=atDesign, 
		initialNominalDesign=True, 
		# Norms for measures with zero goal
		norms={ 'area': 100e-12, 'vgs_drv': 1e-3, 'vds_drv':1e-3 }, 
		tradeoffs=1e-6, # Tradeoff optimization weight, can be overridden in *CbdOptions
		stopWhenAllSatisfied=True, 
		# Initial nominal optimization
		initialCbdOptions={ 
			'debug': 1, 'method': 'global', 'stepTol': 1e-5, 
		}, 
		# Main optimization
		cbdOptions={ 
			'debug': 1, 'method': 'global', 'stepTol': 1e-5, 
		}, wcOptions={ 'debug': 0 }, 
		debug=2, spawnerLevel=1
	)
	atDesign, agg, wc, anCount = yt()
	print(formatParameters(atDesign))
	print(wc.formatResults())
	print(agg.formatResults())
	print(anCount)
	
	# Finalize cOS parallel environment
	cOS.finalize()
	
コード例 #2
0
ファイル: 05-asyncloop.py プロジェクト: ustaros-ai/pyopus
            # Go to next job
            atJob += 1

        # Join jobs
        tid, result = cOS.Join(block=True).popitem()

        print "Received", result, "from", tid

        # Get status and remove it from the dictionarz of running jobs
        status = running[tid]
        del running[tid]
        index = status['index']

        # Make space for the result
        if index >= len(results):
            results.extend([None] * (index + 1 - len(results)))

        # Store result
        results[index] = result

        # Check if we need to stop
        if result >= stopAtResult and not stop:
            stop = True

            print "Spawning no more tasks"

    print("Results: " + str(results))

    # Finish, need to do this if MPI is used
    cOS.finalize()