{ "info": { "author": "Karl-Philipp Richter", "author_email": "krichter722@aol.de", "bugtrack_url": null, "classifiers": [], "description": "`cudaminer_param_checker.py` is a simple attempt to allow users to find out about the parameters for a maximal hash/s rate which can be acchieved with `cudaminer` using `cudaminer`'s benchmark function. The test currently works with a naive brute-force approach which tries the cartesian product of all combinations. A GUI for controlling parameters and visualizing results in a table is provided. Each test takes between 30 and 90 seconds. The script supports saving intermediate results to file and resuming the tests. When you resume a previous run pay attention that the state of the system (I/O and system load) are not too different in order to avoid messing up the results.\n\n## Test parameters\nI'm testing the script on a `Lenovo IdeaPad Z-500` with an `NVIDIA GeForce GT740M`. I'll publish my programming result before seriously researching what test parameters acutally mean (there're most certainly several combinations which don't make sense and can be skipped). My experience of up to 800 % of the hash rate I acchieved with specific parameter recommendations speak for themselves. Some value intervals in the test which serve for combinations generation are made up without basic understanding of upper and lower bounds, i.e. some (possibly optimal) value combinations might not be covered by the test.\n\nIf you're an expert you might want to use the tool to investigate impact of a parameter or combinations in a certain range.\n\n## Results \nThe values in the benchmark are almost never reached during pool mining over `stratum+tcp`. The script results lie at around 140 % of the values experienced during actual pool mining. The results have not yet been evaluated against solo mining. The same device makes 24 Mhash/s with `bitminter` which might indicate that either this script or cudaminer (like I set it up on the test system) or one of its dependencies don't work properly.\n\n## Running\nInvoke\n\n python ./cudaminer_param_checker.py\n\nin the source root. This will run the script with a very large set of \ntest parameters which is currently not configurable. Note that depending on your system setup you might need to add \nsome commands, e.g. on Ubuntu 14.10 amd64 I need to run \n\n env LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/lib:$LD_LIBRARY_PATH python cudaminer_param_checker.py\n\nafter installing the `nvidia` and removing the `nouveau` driver and installing the NVIDIA CUDA toolkit according to http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html (note the hints in the instructions regarding i386 systems). The invokation of extra programs, like `optirun`, can be configured as prepended command within the GUI.\n\nSome GUI elements simply don't have any effect at all and are ignored. The console GUI is currently unmaintained and therefore might not work.\n\n## Prerequisites\nInstall the `wx` python bindings, e.g. on Ubuntu with `sudo apt-get install python-wxgtk3.0`. `python setup.py build && sudo python setup.py install` will do the rest.\n\n## Internals\nThe script uses the python `itertools` and `shelve` package which allows quite efficient memory usage, therefore an almost arbitrary large set of parameters won't cause a crash of the application or worse your system due to missing memory - but the time it takes to run all the tests can easily go up to weeks and months.\n\nThe script does nothing but parsing the output of `cudaminer --benchmark --no-autotune` with the test arguments which leaves a lot of room for improvement, especially regarding integration with the `cudaminer` source directly.\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/krichter722/cudaminer-param-checker", "keywords": "cudaminer bitcoin bitcoin-mining", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "cudaminer-param-checker", "package_url": "https://pypi.org/project/cudaminer-param-checker/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cudaminer-param-checker/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/krichter722/cudaminer-param-checker" }, "release_url": "https://pypi.org/project/cudaminer-param-checker/1.0/", "requires_dist": null, "requires_python": null, "summary": "An application to check a large set of parameters which can be passed to `cudaminer` in order to figure out the optimal combination with console and application GUI frontend", "version": "1.0" }, "last_serial": 1372168, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "a61f07df5b15171ee1c6789083b58b11", "sha256": "a7b387c2631fc1223faf4bafceb72cd50ab48e3444f46c190414e70a1f9097ad" }, "downloads": -1, "filename": "cudaminer-param-checker-1.0.tar.gz", "has_sig": false, "md5_digest": "a61f07df5b15171ee1c6789083b58b11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28783, "upload_time": "2015-01-06T03:12:45", "url": "https://files.pythonhosted.org/packages/50/a6/551beff7fd8bcc3d7681b1929e5d5a948bc5685e384d4d1e8baac0095111/cudaminer-param-checker-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a61f07df5b15171ee1c6789083b58b11", "sha256": "a7b387c2631fc1223faf4bafceb72cd50ab48e3444f46c190414e70a1f9097ad" }, "downloads": -1, "filename": "cudaminer-param-checker-1.0.tar.gz", "has_sig": false, "md5_digest": "a61f07df5b15171ee1c6789083b58b11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28783, "upload_time": "2015-01-06T03:12:45", "url": "https://files.pythonhosted.org/packages/50/a6/551beff7fd8bcc3d7681b1929e5d5a948bc5685e384d4d1e8baac0095111/cudaminer-param-checker-1.0.tar.gz" } ] }