Author

Topic: CGMINER - Remove CPU mining? (Read 18649 times)

full member
Activity: 186
Merit: 100
January 22, 2012, 07:32:22 PM
#42
It should be removed as it's not feasible to maintain the code in the long-run. It's obvious that CPU mining is obsolete. There are alternative CPU miners which can be used.
member
Activity: 84
Merit: 10
January 19, 2012, 05:05:56 PM
#41
Strip it out and get rid of it. People that need CPU mining have other miner software they can use.

To quote Spock...

"The needs of the many outweigh the needs of the few, or the one."


"Ah, an educated Vulcan... like Karl Marx himself."

Who's a cute little Spock quoter? You are! You are!  Grin
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
January 19, 2012, 04:53:48 PM
#40
Maybe the readme can be updated to segregate the cpu related params given they have no effect on default builds (and pre-built binaries)?
Good idea.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 19, 2012, 09:20:54 AM
#39
The disable gpu option wouldn't be a cpu only option, as it would also be good for someone mining with FPGAs that wants their video card to do 3D work.

Good point.  I got to stop thinking so binary.  CPU vs GPU.
hero member
Activity: 807
Merit: 500
January 19, 2012, 09:12:27 AM
#38
The disable gpu option wouldn't be a cpu only option, as it would also be good for someone mining with FPGAs that wants their video card to do 3D work.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 19, 2012, 08:26:46 AM
#37
I'd say the votes are pretty conclusive. Thanks everyone for your input. For simplicity I'll be making it a compile time selection for now, default off. This has already been committed to the git tree and will be in the next version. I will no longer be releasing binaries with CPU mining support built in and if it proves innocuous in this fashion, it will be left that way. Should issues arrive, it will be deprecated entirely in a future version.

Sounds sensible.  Complete removal would clean up the giant list of command line & config file parameters.  Maybe the readme can be updated to segregate the cpu related params given they have no effect on default builds (and pre-built binaries)?

Code:
--algo|-a      Specify sha256 implementation for CPU mining:
        auto            Benchmark at startup and pick fastest algorithm
        c               Linux kernel sha256, implemented in C
        4way            tcatm's 4-way SSE2 implementation
        via             VIA padlock implementation
        cryptopp        Crypto++ C/C++ implementation
        sse2_64         SSE2 64 bit implementation for x86_64 machines
        sse4_64         SSE4.1 64 bit implementation for x86_64 machines (default: sse2_64)
--cpu-threads|-t Number of miner CPU threads (default: 4)
--disable-gpu|-G    Disable GPU mining even if suitable devices exist
--enable-cpu|-C     Enable CPU mining with GPU mining (default: no CPU mining if suitab
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
January 19, 2012, 06:52:18 AM
#36
I'd say the votes are pretty conclusive. Thanks everyone for your input. For simplicity I'll be making it a compile time selection for now, default off. This has already been committed to the git tree and will be in the next version. I will no longer be releasing binaries with CPU mining support built in and if it proves innocuous in this fashion, it will be left that way. Should issues arrive, it will be deprecated entirely in a future version.
hero member
Activity: 798
Merit: 1000
January 12, 2012, 06:27:41 PM
#35
To be honest I didn't even really know that cgminer was CPU capable, as I've never had to use it Smiley   Obviously I'm happy for it to be removed.

As a person who has a couple of BitForce units ordered though, I'm extremely happy to see support for that included, top work Luke/Con Smiley
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
January 12, 2012, 04:57:46 PM
#34
ok I got it to ufasoft to work & its giving better hash rate than cgminer
color me GONE
You are allowed to change your vote too Wink
full member
Activity: 221
Merit: 100
January 12, 2012, 04:56:47 PM
#33
thats a great recommend ufasoft

first install another program to unzip it, then figure out it's command line, then find out it don't work
on the cpu says 2 threads running unless 0 is a correct hash rate -- NOT

Just for shits and giggles I tried it.  Took about 30 seconds to get it to work.



I limited it to 1 thread because I didn't want it to CPU starve cgminer.

Just because you can't figure it out doesn't mean it isn't a good miner.  Hell everyday people can't figure out cgminer I guess that means it sucks too.

Quote
ok try the gpu's -- it don't know shit about nvidia cards

Which has nothing to do w/ removing CPU support from cgminer.

yep you are d man d hero
you can do it all in 30 sec o less]
BS

D&T's persona here can sometimes come off as being a bit ... how shall I put it ... terse (no offense intended, D&T). But there's usually little (if anything) wrong or inaccurate with what he says. There's no need for you to be a douche.

ok I got it to ufasoft to work & its giving better hash rate than cgminer
color me GONE
legendary
Activity: 922
Merit: 1003
January 12, 2012, 03:12:38 PM
#32
thats a great recommend ufasoft

first install another program to unzip it, then figure out it's command line, then find out it don't work
on the cpu says 2 threads running unless 0 is a correct hash rate -- NOT

Just for shits and giggles I tried it.  Took about 30 seconds to get it to work.



I limited it to 1 thread because I didn't want it to CPU starve cgminer.

Just because you can't figure it out doesn't mean it isn't a good miner.  Hell everyday people can't figure out cgminer I guess that means it sucks too.

Quote
ok try the gpu's -- it don't know shit about nvidia cards

Which has nothing to do w/ removing CPU support from cgminer.

yep you are d man d hero
you can do it all in 30 sec o less]
BS

D&T's persona here can sometimes come off as being a bit ... how shall I put it ... terse (no offense intended, D&T). But there's usually little (if anything) wrong or inaccurate with what he says. There's no need for you to be a douche.
full member
Activity: 221
Merit: 100
January 12, 2012, 03:04:10 PM
#31
thats a great recommend ufasoft

first install another program to unzip it, then figure out it's command line, then find out it don't work
on the cpu says 2 threads running unless 0 is a correct hash rate -- NOT

Just for shits and giggles I tried it.  Took about 30 seconds to get it to work.

Code:
C:\bitcoin\btcm>bitcoin-miner-64.exe -g no -i 1 -o (my pool/account/worker here) -t 1
bitcoin-miner 0.25  Copyright (c) 2012 Ufasoft  http://ufasoft.com/open/bitcoin
Mining for (removed)
Using CPU (1 threads)
4.26 MHash/s
Processed: 195 Mhash, 46 s with average Rate: 4.26 MHash/s
Accepted: 0, average: 0 shares/min

I limited it to 1 thread because I didn't want it to CPU starve cgminer.

Just because you can't figure it out doesn't mean it isn't a good miner.  Hell everyday people can't figure out cgminer I guess that means it sucks too.

Quote
ok try the gpu's -- it don't know shit about nvidia cards

Which has nothing to do w/ removing CPU support from cgminer.

yep you are d man d hero
you can do it all in 30 sec o less]
BS
newbie
Activity: 7
Merit: 0
January 12, 2012, 01:57:58 PM
#30
If CPU mining can be made modular (sound like this is done), and the CPU mining code tossed into a new git repo, I think you can have your cake and eat it too. 

If someone is really dependent on CPU mining w/ CGMINER, they can go find the CPU code and throw it in.  If they want feature x,y,z for CPU mining, they can code it or beg for someone to code it on the CPU module project.

I doubt CPU mining code will be the last deprecated (for the majority of users, that is) mining method.



donator
Activity: 1218
Merit: 1079
Gerald Davis
January 12, 2012, 01:55:23 PM
#29
For me, even windows is free Cheesy Cool
No, it isn't. To be free, you need to be able to legally:
  • run the program, for any purpose
  • study how the program works, and change it so it does your computing as you wish
  • redistribute copies so you can help your neighbor (including selling it)
  • distribute copies of your modified versions to others

Citation: the free software definition

Thank you.

He may be able to obtain windows at NO COST (either legally or illegally) but it isn't even close to free.

Free as in free speech not free beer.
legendary
Activity: 2576
Merit: 1186
January 12, 2012, 01:54:16 PM
#28
For me, even windows is free Cheesy Cool
No, it isn't. To be free, you need to be able to legally:
  • run the program, for any purpose
  • study how the program works, and change it so it does your computing as you wish
  • redistribute copies so you can help your neighbor (including selling it)
  • distribute copies of your modified versions to others

See also: the free software definition
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
January 12, 2012, 01:51:22 PM
#27
For me, even windows is free Cheesy Cool
full member
Activity: 210
Merit: 100
January 12, 2012, 01:48:47 PM
#26
...first install another program to unzip it...

Robert, this "another program" as you put it, 7-zip, is what currently happens to be the best free, open source, multi-platform archive manager available.
You'll be glad to have it installed so stop being so grumpy Smiley

Shame on Microsoft for not having touched their built-in compressor/decompressor for ages.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 12, 2012, 01:30:26 PM
#25
thats a great recommend ufasoft

first install another program to unzip it, then figure out it's command line, then find out it don't work
on the cpu says 2 threads running unless 0 is a correct hash rate -- NOT

Just for shits and giggles I tried it.  Took about 30 seconds to get it to work.

Code:
C:\bitcoin\btcm>bitcoin-miner-64.exe -g no -i 1 -o (my pool/account/worker here) -t 1
bitcoin-miner 0.25  Copyright (c) 2012 Ufasoft  http://ufasoft.com/open/bitcoin
Mining for (removed)
Using CPU (1 threads)
4.26 MHash/s
Processed: 195 Mhash, 46 s with average Rate: 4.26 MHash/s
Accepted: 0, average: 0 shares/min

I limited it to 1 thread because I didn't want it to CPU starve cgminer.

Just because you can't figure it out doesn't mean it isn't a good miner.  Hell everyday people can't figure out cgminer I guess that means it sucks too.

Quote
ok try the gpu's -- it don't know shit about nvidia cards

Which has nothing to do w/ removing CPU support from cgminer.
full member
Activity: 221
Merit: 100
January 12, 2012, 01:15:16 PM
#24
care to name those "other CPU miners"

Has support for SSE2.  It is in active development and now includes CPU alt-chain support which should result in continued development (at least until alt-chain fad dies out).

http://ufasoft.com/open/bitcoin/

Quote
AND spouting "used by botnets operators, rogue system admins, and trojan developers"
is just ranting pie in the sky clueless nonsense

http://en.wikipedia.org/wiki/Bitcoin#Covert_.22mining.22

It is well founded.  The inefficiency of CPU (MH/W) and the sheer number of them means the only "legit" operator is one who happens to own (or have legal access) to hundreds of CPU and also happens to have access to dozens of KW of "free" power. 

Given that intersection of unlikely characteristics it isn't exactly a stretch to consider that most large scale CPU mining is being done illegally or at least covertly.

thats a great recommend ufasoft

first install another program to unzip it, then figure out it's command line, then find out it don't work
on the cpu says 2 threads running unless 0 is a correct hash rate -- NOT
ok try the gpu's -- it don't know shit about nvidia cards
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
January 12, 2012, 09:35:33 AM
#23
cpuminer-ng has some good threading optimizations and SSE4.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 12, 2012, 09:29:36 AM
#22
care to name those "other CPU miners"

Has support for SSE2.  It is in active development and now includes CPU alt-chain support which should result in continued development (at least until alt-chain fad dies out).

http://ufasoft.com/open/bitcoin/

Quote
AND spouting "used by botnets operators, rogue system admins, and trojan developers"
is just ranting pie in the sky clueless nonsense

http://en.wikipedia.org/wiki/Bitcoin#Covert_.22mining.22

It is well founded.  The inefficiency of CPU (MH/W) and the sheer number of them means the only "legit" operator is one who happens to own (or have legal access) to hundreds of CPU and also happens to have access to dozens of KW of "free" power. 

Given that intersection of unlikely characteristics it isn't exactly a stretch to consider that most large scale CPU mining is being done illegally or at least covertly.
sr. member
Activity: 383
Merit: 250
January 12, 2012, 09:26:30 AM
#21
Strip it out and get rid of it. People that need CPU mining have other miner software they can use.

To quote Spock...

"The needs of the many outweigh the needs of the few, or the one."

Having CPU mining code is causing cgminer to be flagged by multiple AV software. Some unscrupulous people use cgminer to CPU mine against the hardware owners knowledge. When the hardware owner discovers this, they report it as malicious to the AV software companies and cgminer gets flagged.

I seriously doubt many donations (if any) are coming in from CPU miners.   

If ckolivas is not receiving donations for CPU mining there should not even be a vote IMO. So I think ckolivas should just strip it out if he wants it gone.
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
January 12, 2012, 09:08:26 AM
#20
...
care to name those "other CPU miners"

AND spouting "used by botnets operators, rogue system admins, and trojan developers"
is just ranting pie in the sky clueless nonsense
Um no.
Why do you think most windows A/V programs thinks it's a virus?
full member
Activity: 221
Merit: 100
January 12, 2012, 09:02:12 AM
#19
I say kill it.  The feature list of cgminer has grown significantly over the last year.  RPC adds a whole host of new capabilities but also new potential bugs and maintenance issues.  CPU mining is useless for legit miners.  Even miners who have "free electricity" (students living in dorm for example) don't have sufficient number of CPU to earn more than a couple bitcents a day.

Thus for CPU mining to be useful one needs huge numbers of CPU PLUS huge amounts of "free" electricity.  Continuing to devote scarce resources to a tool that is used by botnets operators, rogue system admins, and trojan developers seems foolish.

There are other CPU miners available.  The code can be branched off and if there is enough interest and financial support someone could make a streamlined, optimized CPU only version.


care to name those "other CPU miners"

AND spouting "used by botnets operators, rogue system admins, and trojan developers"
is just ranting pie in the sky clueless nonsense
hero member
Activity: 896
Merit: 1000
January 12, 2012, 06:34:55 AM
#18
CPU mining is useful for me. I manage many servers that have quite a lot of spare CPU (even with VMs) and for which electricity is "free" (included in the rent). The ability to quickly deploy a feature-rich miner on these gives me between 100-200MH/s depending on the actual servers rented.
hero member
Activity: 518
Merit: 500
January 12, 2012, 05:55:20 AM
#17
Remove that junk ASAP.

CGminer is awesome !
legendary
Activity: 1904
Merit: 1002
January 12, 2012, 05:50:56 AM
#16
Create a branch for it, then clear it from master.  If someone else wants to maintain it they can.
hero member
Activity: 807
Merit: 500
January 12, 2012, 05:47:45 AM
#15
I don't use CPU mining, but resist getting rid of legacy stuff because sometimes it can be of use.  I can't maintain code either, so I can't offer real help.  However, it seems to me that leaving it in as a compile-time option (that is unsupported unless someone else provides patches or maintains it) and not including that option in compilation of the official Windows release would solve the majority of your problems while still allowing cgminer to remain comprehensive in its abilities (it's not like it was ever the best cpuminer after it became primarily for graphics anyway).
sr. member
Activity: 406
Merit: 257
January 12, 2012, 05:35:03 AM
#14
Seems like a waste of time to maintain it, if people really want to cpu mine they can just use one of the available dedicated cpu miners or deal with maintaining a fork of cg.
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
January 12, 2012, 04:49:56 AM
#13
Hmm, I use the CPU miner as I don't have to care about electricity (I pay a flat fee to to my hoster) .
Why don't you just leave the code "as is", disable it by default and add a configure switch (e.g. "--enable-cpu")? I think this should cover most of your concerns.
Basically your suggestion means a lot of effort on the code to make it possible to be disabled.
Or, just remove it (easier and gone forever and no more maintaining it) and be done with it Smiley

From the point of view of CPU mining - anyone who does it is really wasting their time completely without doubt, or running a botnet.
How much BTC are you generating in a month?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
January 12, 2012, 04:02:07 AM
#12
I know ckolivas don't like Litecoin but, change the CPU-mining to Scrypt and let me ask to pooler if he can port his assembly cpuminer and maintain that portion of cgminer.

I don't know exactly why but, I believe in CPU-coins too... It can bring much more people to CryptoCurrencies... Right?!

CGminer RULEZ!!! It is the best Bitcoin miner out there!!

Thank you ckolivas for your time and hard work!!

Best,
Thiago
Thanks for your support of cgminer Smiley To be perfectly honest, I wish that CPU mining was the end of the discussion and that  GPUs weren't better at mining bitcoin specifically. However, that is NOT the case, and I believe in bitcoin more. I have no love whatsoever for alternative currencies and even if someone offered to keep CPU mining code maintained for the sake of alternative currencies, I would not accept their input, sorry.
full member
Activity: 210
Merit: 100
January 12, 2012, 03:48:31 AM
#11
Let's make cgminer lightweight and easy to maintain.
I say shoot CPU mining in the head and concentrate on relevant tasks.
The last thing we need is stagnation when Conman bogs down in all that ancient code with all its special cases, assembler optimizations and what not.
full member
Activity: 225
Merit: 100
January 12, 2012, 03:14:35 AM
#10
Hmm, I use the CPU miner as I don't have to care about electricity (I pay a flat fee to to my hoster) .
Why don't you just leave the code "as is", disable it by default and add a configure switch (e.g. "--enable-cpu")? I think this should cover most of your concerns.
legendary
Activity: 1204
Merit: 1000
฿itcoin: Currency of Resistance!
January 12, 2012, 02:49:49 AM
#9
I know ckolivas don't like Litecoin but, change the CPU-mining to Scrypt and let me ask to pooler if he can port his assembly cpuminer and maintain that portion of cgminer.

I don't know exactly why but, I believe in CPU-coins too... It can bring much more people to CryptoCurrencies... Right?!

CGminer RULEZ!!! It is the best Bitcoin miner out there!!

Thank you ckolivas for your time and hard work!!

Best,
Thiago
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
January 12, 2012, 12:37:08 AM
#8
Heh, it also means that anyone wanting other CPU code added knows where they can go ... Smiley

I only use CPU mining for testing since I only have 1 PC with ATI cards in it - so although even I have a use for it (that I sort of need) I like the idea of it being gone also

I'll even take out the CPU code from api.c when you get to doing it Smiley
legendary
Activity: 2576
Merit: 1186
January 12, 2012, 12:32:15 AM
#7
As long as there's an old version on Git that has the code I don't see why it needs to be in current versions any more. Anyone who wants it can just grab a version that had it. I look forward to FPGA support and hope it will be modular enough that hardware devs can easily add their specific device support whether it be USB, JTAG, serial or whatever.
The BitForce FPGA support is itself only about 250 lines of code. The refactor I wrote first replaced/touched nearly 900 lines, making it easy to add new mining devices.
hero member
Activity: 784
Merit: 1009
firstbits:1MinerQ
January 12, 2012, 12:26:07 AM
#6
As long as there's an old version on Git that has the code I don't see why it needs to be in current versions any more. Anyone who wants it can just grab a version that had it. I look forward to FPGA support and hope it will be modular enough that hardware devs can easily add their specific device support whether it be USB, JTAG, serial or whatever.
newbie
Activity: 6
Merit: 0
January 12, 2012, 12:19:25 AM
#5
agree totally remove it - it's lame and pointless and wastes your resources as well as natural resources and hurts innocents as well.

Also all these viri and shit showing up will most likely be in the news eventually and it will most likely be used to badmouth/hurt bitcoins overall i.e. media when/if that happens
legendary
Activity: 922
Merit: 1003
January 12, 2012, 12:14:55 AM
#4
Remove cpu mining. I know what a pain it can be to maintain legacy code and what affect it can have on program stability and just ease of maintenance. Few are going to miss it. Time to move on.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 11, 2012, 11:57:02 PM
#3
I say kill it.  The feature list of cgminer has grown significantly over the last year.  RPC adds a whole host of new capabilities but also new potential bugs and maintenance issues.  CPU mining is useless for legit miners.  Even miners who have "free electricity" (students living in dorm for example) don't have sufficient number of CPU to earn more than a couple bitcents a day.

Thus for CPU mining to be useful one needs huge numbers of CPU PLUS huge amounts of "free" electricity.  Continuing to devote scarce resources to a tool that is used by botnets operators, rogue system admins, and trojan developers seems foolish.

There are other CPU miners available.  The code can be branched off and if there is enough interest and financial support someone could make a streamlined, optimized CPU only version.
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.
Jump to: