{ "info": { "author": "\u00c1rp\u00e1d B\u0171rmen", "author_email": "arpadb@fides.fe.uni-lj.si", "bugtrack_url": null, "classifiers": [], "description": "\nPyOPUS is a library for simulation-based optimization of arbitrary systems. \nIt was developed with circuit optimization in mind. The library is the basis \nfor the PyOPUS GUI that makes it possible to setup design automation tasks with \nease. In the GUI you can also view the the results and plot the waveforms \ngenerated by the simulator. \n\nPyOPUS provides several optimization algorithms (Coordinate Search, \nHooke-Jeeves, Nelder-Mead Simplex, Successive Approximation Simplex, PSADE \n(global), MADS, ...). Optimization algorithms can be fitted with plugins that \nare triggered at every function evaluation and have full access to the \ninternals of the optimization algorithm. \n\nPyOPUS has a large library of optimization test functions that can be used for \noptimization algorithm development. The functions include benchmark sets by \nMor\u00e9-Garbow-Hillstrom, Luk\u0161an-Vl\u010dek (nonsmooth problems), Karmitsa (nonsmooth \nproblems), Mor\u00e9-Wild, global optimization problems by Yao, Hedar, and Yang, \nproblems used in the developement of MADS algorithms, and an interface to \nthousands of problems in the CUTEr/CUTEst collection. Benchmark results can \nbe converted to data profiles that visualize the relative performance of \noptimization algorithms. \n\nThe ``pyopus.simulator`` module currently supports SPICE OPUS, HSPICE, and \nSPECTRE (supports OP, DC, AC, TRAN, and NOISE analyses, as well as, collecting \ndevice properties like Vdsat). The interface is simple can be easily extended to \nsupport any simulator.\n\nPyOPUS provides an extensible library of postprocessing functions which\nenable you to easily extract performance measures like gain, bandwidth, rise\ntime, slew-rate, etc. from simulation results.\nThe collected performance measures can be further post-processed to obtain\na user-defined cost function which can be used for guiding the optimization\nalgorithms toward better circuits.\n\nAt a higher elvel of abstraction PyOPUS provides sensitivity analysis, \nparameter screening, worst case performance analysis, worst case distance \nanalysis (deterministic approximation of parametric yield), and Monte Carlo \nanalysis (statistical approximation of parametric yield). Designs can be \nsized efficiently across a large number of corners. PyOPUS fully automates \nthe procedure for finding a circuit that exhibits the desired parametric yield. \nMost of these procedures can take advantage of parallel computing which \nsignificantly speeds up the process. \n\nParallel computing is supported through the use of the MPI library. A \ncluster of computers is represented by a VirtualMachine object which\nprovides a simple interface to the underlying MPI library. Parallel programs \ncan be written with the help of a simple cooperative multitasking OS. This \nOS can outsource function evaluations to computing nodes, but it can also \nperform all evaluations on a single processor. \nWriting parallel programs follows the UNIX philosophy. A function can be run \nremotely with the ``Spawn`` OS call. One or more remote functions can be \nwaited on with the ``Join`` OS call. The OS is capable of running a parallel \nprogram on a single computing node using cooperative multitasking or on a set \nof multiple computing nodes using a VirtualMachine object. Parallelism can be \nintroduced on multiple levels of the program (i.e. parallel performance \nevaluation across multiple corners, parallel optimization algorithms, solving \nmultiple worst case performance problems in parallel, ...). \n\nPyOPUS provides a plotting mechanism based on MatPlotLib and wxPython with \nan interface and capabilities similar to those available in MATLAB.\nThe plots are handled by a separate thread so you can write your programs\njust like in MATLAB. Professional quality plots can be \neasily exported to a large number of raster and vector formats for inclusion \nin your documents. The plotting capability is used in the ``pyopus.visual`` module \nthat enables the programmer to visualize the simulation results after an \noptimization run or even during an optimization run. \n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://fides.fe.uni-lj.si/pyopus/", "keywords": "", "license": "GPL V3", "maintainer": "", "maintainer_email": "", "name": "PyOPUS", "package_url": "https://pypi.org/project/PyOPUS/", "platform": "Linux", "project_url": "https://pypi.org/project/PyOPUS/", "project_urls": { "Homepage": "http://fides.fe.uni-lj.si/pyopus/" }, "release_url": "https://pypi.org/project/PyOPUS/0.9/", "requires_dist": [ "pyqt5", "numpy", "scipy", "matplotlib", "greenlet", "mpi4py", "cvxopt", "pyqtgraph", "lxml" ], "requires_python": "", "summary": "A simulation-based design optimization library", "version": "0.9" }, "last_serial": 4279211, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "29c1a543b29feebbbfec53589dc29b2b", "sha256": "110dda1d871b8fc929a3e5cd6aa0e904e363d66306067ce4819f529d828c6609" }, "downloads": -1, "filename": "PyOPUS-0.9-cp35-cp35m-win32.whl", "has_sig": false, "md5_digest": "29c1a543b29feebbbfec53589dc29b2b", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1572225, "upload_time": "2018-09-17T12:20:39", "url": "https://files.pythonhosted.org/packages/e7/40/552b6d1a247ab7ac7fef6de364e929d5b69117529be3cdad330fdb607e50/PyOPUS-0.9-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "79384fa2663c6d0d593b704a6f89139d", "sha256": "fe982e1cccc50795bd6e58215630e4f28edf54667fa88433ef37750b212f51a9" }, "downloads": -1, "filename": "PyOPUS-0.9-cp35-cp35m-win_amd64.whl", "has_sig": false, "md5_digest": "79384fa2663c6d0d593b704a6f89139d", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1603627, "upload_time": "2018-09-17T12:20:51", "url": "https://files.pythonhosted.org/packages/e0/ee/30040aa51792edf0c56ca294a360df15a63fed80c1554b94824e21f96ae2/PyOPUS-0.9-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "92c196a86c1311415a90507d935f28ea", "sha256": "198fd1c41c3dee10068fe3ac6d35e0f5ef3e0387f4b86014a4a8b1429e23c930" }, "downloads": -1, "filename": "PyOPUS-0.9.tar.gz", "has_sig": false, "md5_digest": "92c196a86c1311415a90507d935f28ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5674794, "upload_time": "2018-09-17T12:22:28", "url": "https://files.pythonhosted.org/packages/59/d0/5e785e16b8b57821d64a8d5d9aba6e7f4190063e10ccf877cdb7084b509b/PyOPUS-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "29c1a543b29feebbbfec53589dc29b2b", "sha256": "110dda1d871b8fc929a3e5cd6aa0e904e363d66306067ce4819f529d828c6609" }, "downloads": -1, "filename": "PyOPUS-0.9-cp35-cp35m-win32.whl", "has_sig": false, "md5_digest": "29c1a543b29feebbbfec53589dc29b2b", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1572225, "upload_time": "2018-09-17T12:20:39", "url": "https://files.pythonhosted.org/packages/e7/40/552b6d1a247ab7ac7fef6de364e929d5b69117529be3cdad330fdb607e50/PyOPUS-0.9-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "79384fa2663c6d0d593b704a6f89139d", "sha256": "fe982e1cccc50795bd6e58215630e4f28edf54667fa88433ef37750b212f51a9" }, "downloads": -1, "filename": "PyOPUS-0.9-cp35-cp35m-win_amd64.whl", "has_sig": false, "md5_digest": "79384fa2663c6d0d593b704a6f89139d", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1603627, "upload_time": "2018-09-17T12:20:51", "url": "https://files.pythonhosted.org/packages/e0/ee/30040aa51792edf0c56ca294a360df15a63fed80c1554b94824e21f96ae2/PyOPUS-0.9-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "92c196a86c1311415a90507d935f28ea", "sha256": "198fd1c41c3dee10068fe3ac6d35e0f5ef3e0387f4b86014a4a8b1429e23c930" }, "downloads": -1, "filename": "PyOPUS-0.9.tar.gz", "has_sig": false, "md5_digest": "92c196a86c1311415a90507d935f28ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5674794, "upload_time": "2018-09-17T12:22:28", "url": "https://files.pythonhosted.org/packages/59/d0/5e785e16b8b57821d64a8d5d9aba6e7f4190063e10ccf877cdb7084b509b/PyOPUS-0.9.tar.gz" } ] }