Pages:
Author

Topic: CGMINER - Remove CPU mining? - page 3. (Read 18631 times)

legendary
Activity: 2576
Merit: 1186
January 11, 2012, 11:53:38 PM
#2
CPU mining is still useful for testnet, at least. Perhaps just make it clear on downloads that any further CPU-specific enhancements need to be funded by a donation, or submitted as a patch?

Edit: To clarify, I do NOT think any effort should be spent improving CPU mining, but at the same time, I don't see any reason to remove it or reject improvements from others.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
January 11, 2012, 11:46:50 PM
#1
Increasingly, CPU mining for bitcoins is becoming irrelevant. The only people who still are CPU mining either have access to free electricity by pilfering it off someone else or have some very rare set up involving solar power or something else. Worse yet, it is the number one target for trojans creating illegal botnets or using power on work computers in an unauthorised fashion. The only use I still have for CPU mining is as a test that cgminer works on machines that have no GPUs that can mine.

As maintainer of cgminer, while the CPU mining code is what cgminer started out as, I find it an annoyance to maintain, with random bug reports about difficulty building it, performance being not as good as the best CPU mining algorithms, 64 bit versions not being available for windows, older assemblers failing to compile it, requests for more sse* support, patch submissions to improve CPU mining by .1 MH/s and so on. The fact is it's not much more than annoyance to me and any time I spend working on the CPU mining code is time I could have spent usefully on the GPU mining code. Also, as CPU miners earn almost nothing by mining, their contribution to my BTC balance is never going to be some kind of incentive for me to work on it. The only ones earning a lot from it (the illegal botnets) are most definitely not donating.

Furthermore, FPGA mining code is coming to cgminer, and adds yet another type of device that cgminer will support, but a useful one. At this time, the code has been abstracted out to work with any additional devices in the future, but it also makes it an ideal time to remove the CPU mining code, which is in my eyes, irrelevant.

I would like to remove it entirely, but it wouldn't be difficult to keep the existing code there and make it not compile unless consciously configured at build time. I fear that this will end up being even more work than just leaving it as is, since the same number of people will be wanting CPU support.

Clearly my preference is to remove it. Comments would be appreciated too. Saying "it's good to keep" without explaining why I should have to maintain it will not be a convincing argument. Oh and I'd be happy for someone to step up and maintain it and I would pull their changes into the master git tree unless their code proved unsatisfactory.

Thanks.
Pages:
Jump to: