joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
September 26, 2019, 03:11:17 PM |
|
To inside the ' work_decode ' function, so it gets checked on new jobs, to provide compatibility with profit switching.
Simple problem, simple fix but what's the connection to profit swicthing?
|
|
|
|
cryptofarmer
|
|
September 26, 2019, 03:25:43 PM |
|
The connection: When mining SPDR ( coin without roots ) all ok Then switch to LUX or GEX (coins with roots ) all ok roots are enabled in ccminer. Then switch back to SPDR ( coin without roots) BIG trouble. From this moment ccminer is still in enabled roots mode and cant produce valid shares anymore.
Therefore the "has roots" check needs to be performed on every received job and set to false by default. I think that's the best approach?
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
September 26, 2019, 04:31:02 PM Last edit: September 26, 2019, 05:27:40 PM by joblo |
|
Then switch back to SPDR ( coin without roots) BIG trouble.
Thanks, I should have realized that. I'll make the change in cpuminer-opt. Edit: phi2-lux now makes sense, it's just a workaround for phi2 with roots enabled for miners that can't handle them dynamically.
|
|
|
|
startsts
|
|
September 26, 2019, 06:24:46 PM |
|
Any idea how to compile it on Ubuntu 19.04? Will the dev update source code for compatibility?
|
|
|
|
cryptofarmer
|
|
October 03, 2019, 05:06:40 AM |
|
Then switch back to SPDR ( coin without roots) BIG trouble.
Edit: phi2-lux now makes sense, it's just a workaround for phi2 with roots enabled for miners that can't handle them dynamically. Thank you kindly !
|
|
|
|
sp_
Legendary
Offline
Activity: 2926
Merit: 1087
Team Black developer
|
|
October 03, 2019, 07:01:31 AM Last edit: October 03, 2019, 07:13:57 AM by sp_ |
|
This miner is not updated anymore. I did a quick test of the x17 algo on my RTX 2060 SUPER. The latest ccminer 2.3 does around 9MHASH,The popular alexis 1.0.0 fork is doing around 12 MHASH My free opensource suprminer/SPMOD-GIT is doing 19MHASH. The private miner Enemy/T-rex & co is doing around 26MHASH. But it all doesn't really matter because there is no profit in 26MHASH.
Is X17 FPGA/ASIC minable, or is there a faster Private GPU kernel out there that harvest all of the profit?
|
|
|
|
scryptr
Legendary
Offline
Activity: 1797
Merit: 1028
|
|
October 04, 2019, 07:51:42 PM |
|
This miner is not updated anymore. I did a quick test of the x17 algo on my RTX 2060 SUPER. The latest ccminer 2.3 does around 9MHASH,The popular alexis 1.0.0 fork is doing around 12 MHASH My free opensource suprminer/SPMOD-GIT is doing 19MHASH. The private miner Enemy/T-rex & co is doing around 26MHASH. But it all doesn't really matter because there is no profit in 26MHASH.
Is X17 FPGA/ASIC minable, or is there a faster Private GPU kernel out there that harvest all of the profit?
X17 IS FPGA MINABLE-- There are a couple posts, in sequence, on the ZergPool thread. Here is the link: Link to ZergPool thread- https://bitcointalk.org/index.php?topic=2759935.msg52643630#msg52643630FPGA mining is a real thumbscrew for GPU miners. A short while ago, $50/day for a single FPGA on a few algos, but now just $1-3/day at best. And, FPGAs cost 3X-5X as much as a GPU rig of 6 or more cards. --scryptr
|
|
|
|
ralayi7348
Newbie
Offline
Activity: 3
Merit: 0
|
|
October 31, 2021, 01:06:05 PM |
|
Just checked with 1.7.4 - both x86 and x64 versions same behaviour, telnet connects, on first jey pressed exits to prompt :S I tried changing port to 4069. no change
Tried running as admin/normal - same
|
|
|
|
|
andy2572192561
Newbie
Offline
Activity: 81
Merit: 0
|
|
July 29, 2024, 07:19:48 PM |
|
void hashx7(void *state, const void *input, uint64_t timestamp) { uint32_t _ALIGN(64) hash[7][16]; uint32_t *hash0 = hash[0]; uint32_t *hash1 = hash[1]; uint32_t *hash2 = hash[2]; uint32_t *hash3 = hash[3]; uint32_t *hash4 = hash[4]; uint32_t *hash5 = hash[5]; uint32_t *hash6 = hash[6]; x7_context_overlay ctx; // Blake512 sph_blake512_init(&ctx.blake); sph_blake512(&ctx.blake, ×tamp, sizeof(timestamp)); sph_blake512(&ctx.blake, input, 80); sph_blake512_close(&ctx.blake, hash0); // BMW512 sph_bmw512_init(&ctx.bmw); sph_bmw512(&ctx.bmw, hash0, 64); sph_bmw512_close(&ctx.bmw, hash1); // XOR with hash0 for (int i = 0; i < 64; ++i) { hash1 ^= hash0; }
// groestl #if defined(__AES__) groestl512_full(&ctx.groestl, (char*)hash2, (const char*)hash1, 512); #else sph_groestl512_init(&ctx.groestl); sph_groestl512(&ctx.groestl, hash1, 64); sph_groestl512_close(&ctx.groestl, hash2); #endif
// Skein512 sph_skein512_init(&ctx.skein); sph_skein512(&ctx.skein, hash2, 64); sph_skein512_close(&ctx.skein, hash3);
// XOR with hash2 for (int i = 0; i < 64; ++i) { hash3 ^= hash2; }
// Keccak512 sph_keccak512_init(&ctx.keccak); sph_keccak512(&ctx.keccak, hash3, 64); sph_keccak512_close(&ctx.keccak, hash4);
#if defined(__aarch64__) sph_luffa512_init(&ctx.luffa); sph_luffa512(&ctx.luffa, hash4, 64); sph_luffa512_close(&ctx.luffa, hash5); #else luffa_full(&ctx.luffa, hash5, 512, hash4, 64); #endif
#if defined(__AES__) echo_full(&ctx.echo, (BitSequence *)hash6, 512, (const BitSequence *)hash5, 64); #else sph_echo512_init(&ctx.echo); sph_echo512(&ctx.echo, hash5, 64); sph_echo512_close(&ctx.echo, hash6); #endif
// XOR with hash5 for (int i = 0; i < 64; ++i) { hash6 ^= hash5; }
memcpy(state, hash6, 32); }
Hello! How does ccminer handle the algorithm with timestamp in sph_blake512(&ctx.blake, ×tamp, sizeof(timestamp)); algorithm?
|
|
|
|
andy2572192561
Newbie
Offline
Activity: 81
Merit: 0
|
|
July 29, 2024, 07:21:51 PM |
|
void hashx7(void *state, const void *input, uint64_t timestamp) { uint32_t _ALIGN(64) hash[7][16]; uint32_t *hash0 = hash[0]; uint32_t *hash1 = hash[1]; uint32_t *hash2 = hash[2]; uint32_t *hash3 = hash[3]; uint32_t *hash4 = hash[4]; uint32_t *hash5 = hash[5]; uint32_t *hash6 = hash[6]; x7_context_overlay ctx; // Blake512 sph_blake512_init(&ctx.blake); sph_blake512(&ctx.blake, ×tamp, sizeof(timestamp)); sph_blake512(&ctx.blake, input, 80); sph_blake512_close(&ctx.blake, hash0); // BMW512 sph_bmw512_init(&ctx.bmw); sph_bmw512(&ctx.bmw, hash0, 64); sph_bmw512_close(&ctx.bmw, hash1); // XOR with hash0 for (int i = 0; i < 64; ++i) { hash1 ^= hash0; }
// groestl #if defined(__AES__) groestl512_full(&ctx.groestl, (char*)hash2, (const char*)hash1, 512); #else sph_groestl512_init(&ctx.groestl); sph_groestl512(&ctx.groestl, hash1, 64); sph_groestl512_close(&ctx.groestl, hash2); #endif
// Skein512 sph_skein512_init(&ctx.skein); sph_skein512(&ctx.skein, hash2, 64); sph_skein512_close(&ctx.skein, hash3);
// XOR with hash2 for (int i = 0; i < 64; ++i) { hash3 ^= hash2; }
// Keccak512 sph_keccak512_init(&ctx.keccak); sph_keccak512(&ctx.keccak, hash3, 64); sph_keccak512_close(&ctx.keccak, hash4);
#if defined(__aarch64__) sph_luffa512_init(&ctx.luffa); sph_luffa512(&ctx.luffa, hash4, 64); sph_luffa512_close(&ctx.luffa, hash5); #else luffa_full(&ctx.luffa, hash5, 512, hash4, 64); #endif
#if defined(__AES__) echo_full(&ctx.echo, (BitSequence *)hash6, 512, (const BitSequence *)hash5, 64); #else sph_echo512_init(&ctx.echo); sph_echo512(&ctx.echo, hash5, 64); sph_echo512_close(&ctx.echo, hash6); #endif
// XOR with hash5 for (int i = 0; i < 64; ++i) { hash6 ^= hash5; }
memcpy(state, hash6, 32); }
Hello! How does ccminer handle the algorithm with timestamp in sph_blake512(&ctx.blake, ×tamp, sizeof(timestamp)); algorithm?
All other algorithm problems have been solved, but I don't know how to deal with the timestamp.
|
|
|
|
|