{ "info": { "author": "R. Samadi", "author_email": "reza.samadi@obspm.fr", "bugtrack_url": null, "classifiers": [ "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "PyMTGP64\r\n\r\nThis Python module is an interface to MTGP, the Mersenne Twister for Graphic Processors (MTGP version 1.1.2) \r\nby Mutsuo Saito and Makoto Matsumoto (Hiroshima University).\r\nFor more details see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MTGP/ and the reference below.\r\n\r\nThe module provides random generators for uniform, Normal and Poisson distributions. \r\nOnly 64-bit floating numbers are generated.\r\nThe random generator for the Poisson distribution exists in two forms. In the first one, \r\nthe distribution is computed for a single value of the characteristic mean 'lambda'. \r\nIn the second form, each generated random number can have is own mean value 'lambda'. \r\nThis form is particularly suited for generating Photon noise for a large image. \r\n\r\nThe module implements and provides the following methods:\r\n* init(seed) : Initialize the module\r\n* uniform(n) : Generates n uniformly distributed random numbers in the real interval ]0,1[\r\n* normal(n) : Generates two random series of size n Normally distributed\r\n* poisson(lambda,n) : Generates a Poisson distribution of mean lambda and size n\r\n* poisson_multlamb(lambda) : As poisson() with multiple values of lambda (one for each generated random number). \r\n* free() : Free the state of the pseudo-random number generator\r\n* seed(value) : Initialize the seed value\r\n* block_seeds(seeds) : Initialize the seed associated with each block\r\n* block_num() : Return the number of blocks\r\n* device() : Return the device index\r\n\r\nFor a complete example see pymtgp64_test.py\r\n\r\nReference: Mutsuo Saito, Makoto Matsumoto, Variants of Mersenne Twister Suitable for Graphic Processors,\r\nTransactions on Mathematical Software, 39 (2013), pp. 12:1--12:20, DOI:10.1145/2427023.24270249\r\n\r\n INSTALLATION\r\n\r\nThe compilation requires CUDA Toolkit (version 5.0 or later).\r\nEdit appropriatley the Makefile. You must in particular define the path \r\nwhere CUDA libraries and header files are installed (CUDAPATH).\r\nYou may also want to tune the constants that are defined in mtgp64-const.h\r\n\r\nTo compile the module type : \r\n make all\r\nand to install it type:\r\n make install\r\nor\r\n python setup.py install --home=$HOME/\r\nDepending on your system, this will install the module in $HOME/lib/python or in $HOME/lib64/python\r\nYou can also install it as root for all the users, in that case type:\r\n sudo python setup.py install\r\n\r\nYou can finally do a complete test by typping:\r\n make test\r\nThis will run the script named pymtgp64_test.py\r\n\r\n\r\n LICENCES\r\n\r\nCopyright (c) 2013 by R. Samadi (LESIA - Observatoire de Paris)\r\n\r\n\r\nThis is a free software: you can redistribute it and/or modify\r\nit under the terms of the GNU General Public License as published by\r\nthe Free Software Foundation, either version 3 of the License, or\r\n(at your option) any later version.\r\n \r\nThis software is distributed in the hope that it will be useful,\r\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\r\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\nGNU General Public License for more details.\r\n \r\nYou should have received a copy of the GNU General Public License\r\nalong with this code. If not, see .\r\n\r\n\r\nCopyright (c) 2009, 2010 Mutsuo Saito, Makoto Matsumoto and Hiroshima\r\nUniversity.\r\nCopyright (c) 2011, 2012 Mutsuo Saito, Makoto Matsumoto, Hiroshima\r\nUniversity and University of Tokyo.\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are\r\nmet:\r\n\r\n * Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer.\r\n * Redistributions in binary form must reproduce the above\r\n copyright notice, this list of conditions and the following\r\n disclaimer in the documentation and/or other materials provided\r\n with the distribution.\r\n * Neither the name of the Hiroshima University, The Uinversity\r\n of Tokyo nor the names of its contributors may be used to\r\n endorse or promote products derived from this software without\r\n specific prior written permission.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://lesia.obspm.fr/", "keywords": "random number generator", "license": "GNU General Public License", "maintainer": "", "maintainer_email": "", "name": "PyMTGP64", "package_url": "https://pypi.org/project/PyMTGP64/", "platform": "Linux - 64 bits - GPU", "project_url": "https://pypi.org/project/PyMTGP64/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://lesia.obspm.fr/" }, "release_url": "https://pypi.org/project/PyMTGP64/1.0/", "requires_dist": null, "requires_python": null, "summary": "Python version of the Mersenne Twister pseudo-random number generator for Graphic Processor (MTGP)", "version": "1.0" }, "last_serial": 912432, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "641dd94781b77d2cbaec335557d5d9f9", "sha256": "e96ef8ba5855d592be7705953e2c97bc10530755eb23d68687e783284c5a8582" }, "downloads": -1, "filename": "PyMTGP64-1.0.tar.gz", "has_sig": false, "md5_digest": "641dd94781b77d2cbaec335557d5d9f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77181, "upload_time": "2013-11-06T11:10:31", "url": "https://files.pythonhosted.org/packages/12/af/bcfcab2674f4c142b661b98c71150ef9239894cfc5b635e2e2dab7794983/PyMTGP64-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "641dd94781b77d2cbaec335557d5d9f9", "sha256": "e96ef8ba5855d592be7705953e2c97bc10530755eb23d68687e783284c5a8582" }, "downloads": -1, "filename": "PyMTGP64-1.0.tar.gz", "has_sig": false, "md5_digest": "641dd94781b77d2cbaec335557d5d9f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77181, "upload_time": "2013-11-06T11:10:31", "url": "https://files.pythonhosted.org/packages/12/af/bcfcab2674f4c142b661b98c71150ef9239894cfc5b635e2e2dab7794983/PyMTGP64-1.0.tar.gz" } ] }