ssvb / cpuminer

PS3 (Cell BE) optimized miner for Litecoin
Other
13 stars 8 forks source link

spu-elf-gcc or spu-gcc tool #2

Open grifits opened 6 years ago

grifits commented 6 years ago

Hello after startup ./configure I get the following: checking for embedspu... embedspu Can't find spu-elf-gcc or spu-gcc tool tell me what I need to install and where to find it help please any ideas and help

ssvb commented 6 years ago

Hello, what kind of hardware setup do you have? Are you running Linux on your Playstation 3?

Nowadays this repository only has some historical value. It was a part of the Litecoin mining power arms race and a step in the CPU -> Cell BE -> GPU -> FPGA -> ASIC transition. I was quite happy to beat a quad Intel Core i7 computer by a factor of 1.5x back in the day. But mining on a GPU is significantly more efficient, not to mention modern ASICs.

BTW, if some people think that I might have tons of Litecoins mined from the early days, then I'm sorry to disappoint them. Mining on a Playstation 3 was not that much better than mining on a mid-end or a hi-end PC (as I mentioned above, it was just roughly a ~1.5x factor advantage). I was primarily interested in optimizing software for fun rather than hoping to eventually get rich. And I did not mine much except for testing purposes during the development of this miner. In a hindsight, I think that the best way to become a crypto millionaire was to buy Bitcoins or Litecoins at that time rather than mine them (running a miner on your PC or PS3 around the clock could only yield just some cents or dollars per week, while being potentially a fire hazard). I kinda considered buying Bitcoins too, but Bitcoin exchanges used to be rather shady back in the early days of crypto and they also wanted personal information which I did not feel like giving to strangers. So yeah, now I regret that I missed this ride but nothing can be done about it. There is also this blog post with some good explanations: http://gavinandresen.ninja/not-as-many-as-you-think

grifits commented 6 years ago

yes i running Linux on my Playstation 3

grifits commented 6 years ago

but what about the supercomputers built on PS3? :))

grifits commented 6 years ago

Well, it's not effective for earning. But help me please find the error and fix my problem.

grifits commented 6 years ago

I encountered the same problem when building other repositories, please help.

ssvb commented 6 years ago

Cell BE has a single weak general purpose CPU core with PowerPC architecture. The performance of this core is roughly comparable to the first generation Intel Atom, except that it is running at a higher clock speed 3.2GHz. And just like Intel Atom, this single CPU core is seen by the operating system as two virtual CPU cores (known as SMT or Hyper-Threading). Anyway, the Linux operating system is running on this weak CPU core and your gcc compiler can generate PowerPC code.

At the same time, for heavy number crunching tasks Cell BE also has up to 8 special SPU cores with a different architecture. And these SPU cores also need their own C compiler, which usually has the name spu-elf-gcc or spu-gcc. Looks like the configure script can't find it in your system, so maybe you just don't have it installed or it has a different name?

But its a bit strange that the configure script can successfully find the embedspu tool. This tool is also a part of the Cell SDK and is used to attach the SPU code to your main PowerPC executable. Maybe it's a good idea to check, which package is providing the embedspu tool in your Linux distribution?

grifits commented 6 years ago

Thanks for the answer, I really have a problem with installing spu-gcc-4.7, since spu-gcc-4.7 depends on gcc-base-4.7, at the moment I have gcc-base-4.9 installed, but it is necessary to set gcc-base-4.7, while gcc-base-4.9 breaks the gcc-base-4.7 installation, and I can not remove gcc-base-4.9, because gcc-base-4.9 has or breaks a lot of dependencies. Any ideas how to fix this? help me please

grifits commented 6 years ago

how can i check which package is providing the embedspu?

ssvb commented 6 years ago

Thanks for the answer, I really have a problem with installing spu-gcc-4.7, since spu-gcc-4.7 depends on gcc-base-4.7, at the moment I have gcc-base-4.9 installed, but it is necessary to set gcc-base-4.7, while gcc-base-4.9 breaks the gcc-base-4.7 installation, and I can not remove gcc-base-4.9, because gcc-base-4.9 has or breaks a lot of dependencies. Any ideas how to fix this? help me please

Looks like this is a question to the maintainers of your Linux distribution. They either do provide a usable package for an SPU toolchain or they don't. It's also possible that they do not care about Cell BE anymore and this stuff has bitrotten.

As an alternative solution, you can probably build an SPU crosscompiler yourself from GCC sources, but I'm not ready to provide detailed step by step instructions offhand.

how can i check which package is providing the embedspu?

It depends on your Linux distribution and its packaging system. But you already have embedspu installed and spu-gcc appears to be a separate problematic package, which you have already successfully identified.

ssvb commented 6 years ago

Oh, there is one more thing. This old miner still uses the old getwork protocol for connecting to the pools. But getwork has been obsoleted and replaced by stratum since a long time ago. The miner still can be tested in the --benchmark mode (without connecting to any pool) if you manage to compile it.

I'm not sure if the missing stratum protocol support is a big problem, since mining is not profitable anyway. And this can be fixed by rebasing on the latest upstream release of cpuminer.

grifits commented 6 years ago

Thanks for the answer. In the case of the stratum, there is a proxy server, I tested it on another miner, but I'm not chasing the earnings. I'm interested in the processor and development for it