Software for mining on CPUs are often by historical reasons included in the distribution kit of the wallet programs. However, usage the CPU in tens and hundreds times inferior by performance to the earnings on video cards.
It is best to use a modern video cards to the computations on video cards. Cards from nVidia are well in games, but due to the peculiarities of the internal architecture are not well suited for working with the BTC and other cryptocurrencies. So it is better to use AMD.
There is special software, such as SGMINER to obtain the cryptocurrency on these cards. Such programs run in different operating systems (Windows or Linux), support many different algorithms and allow “on the fly” to switch between different cryptocurrencies depending on the current rate on the market, the complexity and the overall profitability.
An important feature of the mining sofrware is a choice of the working mode – search blocks in the solo mode or work on joint pools. The pools are needed in the case when the complexity of the producing of coins is too great to successfully find blocks on one computer. In this case, multiple users join their efforts and, when program of one of them successfully finds a block of the bitcoin, the reward is distributed between all pool members.