diff --git a/README.md b/README.md index 1f82b2ba..ca41d639 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,10 @@ License: GPLv3. See `COPYING` for details. Documentation is available in directory `doc`. For details on several topics, see: * `API` for the RPC API specification; -* `SCRYPT` for how to find the right balance in GPU configuration to mine Scrypt-based coins effectively; * `FAQ` for frequently asked questions; * `GPU` for semi-obsolete information on GPU configuration options and mining SHA256d-based coins; * `KERNEL.md` for OpenCL kernel-related information; +* `MINING` for how to find the right balance in GPU configuration to mine Scrypt-based coins effectively; * `windows-build.txt` for information on how to build on Windows. Note that **most of the documentation is outdated**. If you want to contribute, fork this repository, update as needed, and submit a pull request. diff --git a/doc/KERNEL.md b/doc/KERNEL.md index 091f549d..aeeb948f 100644 --- a/doc/KERNEL.md +++ b/doc/KERNEL.md @@ -5,11 +5,59 @@ See directory `kernel`. +## Parameter configuration + +### Common + +In general, switching kernels requires reconfiguring mining parameters, +such as (but not necessarily limited to) `thread-concurrency`, `intensity`, +`gpu-engine` and `gpu-memclock`. + +A description of how to do this is available in `doc/MINING`. + + +### alexkarnew + +Alaxey Karimov's optimised kernel, based on `ckolivas`. For Catalyst >=13.4. + +Only supports `vectors=1`. + +[Announcement](https://litecointalk.org/index.php?topic=4082.0). + + +### alexkarold + +Alaxey Karimov's optimised kernel, based on `ckolivas`. For Catalyst <13.4. + +Only supports `vectors=1`. + +[Announcement](https://litecointalk.org/index.php?topic=4082.0). + + +### ckolivas + +The original Colin Percival `scrypt` kernel, maintained for a long time by +Con Kolivas in `cgminer` and renamed to reflect the fact. + +Only supports `vectors=1`. + + +### zuikkis + +Zuikkis' optimised kernel, based on `ckolivas`. + +Only supports `vectors=1`, `lookup-gap=2` and `worksize=256`. + +[Announcement](https://litecointalk.org/index.php?topic=6058.msg90873#msg90873). + + ## Submitting new kernels ### Requirements -TODO +* OpenCL source code only, licenced under GPLv3 (or later). +* Not hard-coded for a specific GPU model or manufacturer. +* Known limitations and any specific configuration quirks must be mentioned. ### Procedure @@ -21,7 +69,7 @@ the commit message which kernel is used as a base. 2. Make changes to the kernel. Commit them. -This way, it can be easily shown what was changed. +This allows to produce a diff that makes sense. 3. Search for KL_CKOLIVAS and CKOLIVAS_KERNNAME in the top-level source directory and make additions to the listed files in order to integrate @@ -33,5 +81,6 @@ Now it can be selected when starting via the `--kernel` argument or 4. Add yourself to the "kernels" section in `AUTHORS.md`. Keep it short. 5. Submit a pull request on GitHub, or file it at the issue tracker, -listing your git repository and branch name. The current repository and -issue tracker links should be in `README.md`. +outlining the changes made, known limitations, and tested GPUs. List +your git repository and branch name. The current repository and issue +tracker links should be in `README.md`. diff --git a/doc/SCRYPT b/doc/MINING similarity index 100% rename from doc/SCRYPT rename to doc/MINING