Skip to content

Commit

Permalink
#1.8.9 Preparation
Browse files Browse the repository at this point in the history
  • Loading branch information
Bendr0id committed Jan 13, 2019
1 parent eadd17f commit fc79fa7
Show file tree
Hide file tree
Showing 13 changed files with 32 additions and 27 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# 1.8.9
- Added cn-ultralite algo used by upcoming TurtleV2 fork (algo: "cryptonight-ultralite", variant "auto")
# 1.8.8
- Added XLT v5/9 with autodetect(algo: "cryptonight", variant: "xtl" (autodetect), "xtlv9" (force v9))
- Added cn-lite variant UPX/uPlexa (algo: "cryptonight-lite", variant "upx")
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Full Windows/Linux compatible, and you can mix Linux and Windows miner on one XM
## Additional features of XMRigCC (on top of XMRig)

Check the [Coin Configuration](https://github.com/Bendr0id/xmrigCC/wiki/Coin-configurations) guide
* **NEW Support of Crytptonight-Ultralite TRTL/Turtle variant (algo: "cryptonight-ultralite", variant "auto")**
* **NEW Support of Crytptonight-Lite UPX/uPlexa variant (algo: "cryptonight-lite", variant "upx")**
* **NEW Support of Crytptonight XTL v5/v9 PoW changes aka CN-FastV2 (algo: "cryptonight", variant: "xtl" (autodetect), "xtlv9" (force v9))**
* **Support of Crytptonight XFH/SWAP variant aka CN-Heavy-Fast**
Expand Down
6 changes: 3 additions & 3 deletions src/Cpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ void CpuImpl::optimizeParameters(size_t& threadsCount, size_t& hashFactor,
size_t cache = availableCache();
size_t algoBlockSize;
switch (algo) {
case Options::ALGO_CRYPTONIGHT_ULTRA_LITE:
case Options::ALGO_CRYPTONIGHT_ULTRALITE:
algoBlockSize = 256;
break;
case Options::ALGO_CRYPTONIGHT_SUPER_LITE:
case Options::ALGO_CRYPTONIGHT_SUPERLITE:
algoBlockSize = 512;
break;
case Options::ALGO_CRYPTONIGHT_LITE:
Expand All @@ -91,7 +91,7 @@ void CpuImpl::optimizeParameters(size_t& threadsCount, size_t& hashFactor,

if (algo == Options::ALGO_CRYPTONIGHT_HEAVY || powVariant == POW_XFH) {
maximumReasonableHashFactor = 3;
} else if (algo == Options::ALGO_CRYPTONIGHT_ULTRA_LITE) {
} else if (algo == Options::ALGO_CRYPTONIGHT_ULTRALITE) {
if (m_asmOptimization == ASM_INTEL) {
maximumReasonableHashFactor = 2;
} else {
Expand Down
4 changes: 2 additions & 2 deletions src/Mem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ ScratchPadMem Mem::create(ScratchPad** scratchPads, int threadId)
size_t scratchPadSize;

switch (m_algo) {
case Options::ALGO_CRYPTONIGHT_ULTRA_LITE:
case Options::ALGO_CRYPTONIGHT_ULTRALITE:
scratchPadSize = MEMORY_ULTRA_LITE;
break;
case Options::ALGO_CRYPTONIGHT_SUPER_LITE:
case Options::ALGO_CRYPTONIGHT_SUPERLITE:
scratchPadSize = MEMORY_SUPER_LITE;
break;
case Options::ALGO_CRYPTONIGHT_LITE:
Expand Down
10 changes: 5 additions & 5 deletions src/Options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Usage: " APP_ID " [OPTIONS]\n\
Options:\n"
# ifndef XMRIG_CC_SERVER
"\
-a, --algo=ALGO cryptonight (default), cryptonight-lite or cryptonight-heavy\n\
-a, --algo=ALGO cryptonight (default), cryptonight-lite, cryptonight-ultralite or cryptonight-heavy\n\
-o, --url=URL URL of mining server\n\
-O, --userpass=U:P username:password pair for mining server\n\
-u, --user=USERNAME username for mining server\n\
Expand All @@ -73,7 +73,7 @@ Options:\n"
-k, --keepalive send keepalived for prevent timeout (need pool support)\n\
-r, --retries=N number of times to retry before switch to backup server (default: 5)\n\
-R, --retry-pause=N time to pause between retries (default: 5)\n\
--pow-variant=V specificy the PoW variat to use: -> 'auto' (default), '0' (v0), '1' (v1, aka cnv7), '2' (v2, aka cnv8), 'ipbc' (tube), 'xao', 'xtl' (including autodetect for > v5), 'rto', 'xfh', 'upx'\n\
--pow-variant=V specificy the PoW variat to use: -> 'auto' (default), '0' (v0), '1' (v1, aka cnv7), '2' (v2, aka cnv8), 'ipbc' (tube), 'xao', 'xtl' (including autodetect for > v5), 'rto', 'xfh', 'upx', 'turtle'\n\
for further help see: https://github.com/Bendr0id/xmrigCC/wiki/Coin-configurations\n\
--asm-optimization=V specificy the ASM optimization to use: -> 'auto' (default), 'intel', 'ryzen', 'bulldozer', 'off' \n\
--multihash-factor=N number of hash blocks to process at a time (don't set or 0 enables automatic selection of optimal number of hash blocks)\n\
Expand Down Expand Up @@ -1092,13 +1092,13 @@ bool Options::setAlgo(const char *algo)
}

if (i == ARRAY_SIZE(algo_names) - 1 && (!strcmp(algo, "cn-super-lite") || !strcmp(algo, "cryptonight-super-lite") || !strcmp(algo, "cryptonight-superlight"))) {
m_algo = ALGO_CRYPTONIGHT_SUPER_LITE;
m_algo = ALGO_CRYPTONIGHT_SUPERLITE;
break;
}


if (i == ARRAY_SIZE(algo_names) - 1 && (!strcmp(algo, "cn-ultra-lite") || !strcmp(algo, "cryptonight-ultra-lite") || !strcmp(algo, "cryptonight-ultralight"))) {
m_algo = ALGO_CRYPTONIGHT_ULTRA_LITE;
m_algo = ALGO_CRYPTONIGHT_ULTRALITE;
break;
}

Expand Down Expand Up @@ -1176,7 +1176,7 @@ bool Options::parsePowVariant(const char *powVariant)
break;
}

if (i == ARRAY_SIZE(pow_variant_names) - 1 && !strcmp(powVariant, "stellitev9")) {
if (i == ARRAY_SIZE(pow_variant_names) - 1 && (!strcmp(powVariant, "stellitev9") || !strcmp(powVariant, "xtlv2"))) {
m_powVariant = POW_XTL_V9;
break;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Options.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ class Options
enum Algo {
ALGO_CRYPTONIGHT, /* CryptoNight (2MB ScratchPad) */
ALGO_CRYPTONIGHT_LITE, /* CryptoNight-Lite (1MB ScratchPad) */
ALGO_CRYPTONIGHT_SUPER_LITE, /* CryptoNight-Superlite (512KB ScratchPad) */
ALGO_CRYPTONIGHT_ULTRA_LITE, /* CryptoNight-Ultralite (256KB ScratchPad) */
ALGO_CRYPTONIGHT_SUPERLITE, /* CryptoNight-Superlite (512KB ScratchPad) */
ALGO_CRYPTONIGHT_ULTRALITE, /* CryptoNight-Ultralite (256KB ScratchPad) */
ALGO_CRYPTONIGHT_HEAVY, /* CryptoNight-Heavy (4MB ScratchPad) */
};

Expand Down
2 changes: 1 addition & 1 deletion src/PowVariant.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ inline PowVariant parseVariant(const std::string variant)
powVariant = PowVariant::POW_RTO;
} else if (variant == "xfh" || variant == "freehaven" || variant == "faven") {
powVariant = PowVariant::POW_XFH;
} else if (variant == "xtlv9" || variant == "stellite_v9") {
} else if (variant == "xtlv9" || variant == "stellite_v9" || variant == "xtlv2") {
powVariant = PowVariant::POW_XTL_V9;
} else if (variant == "upx" || variant == "uplexa" || variant == "cn-upx") {
powVariant = PowVariant::POW_UPX;
Expand Down
4 changes: 2 additions & 2 deletions src/config.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"algo": "cryptonight", // cryptonight (default), cryptonight-lite or cryptonight-heavy
"algo": "cryptonight", // cryptonight (default), cryptonight-lite, cryptonight-ultralite or cryptonight-heavy
"aesni": 0, // selection of AES-NI mode (0 auto, 1 on, 2 off)
"threads": 0, // number of miner threads (not set or 0 enables automatic selection of optimal thread count)
"multihash-factor": 0, // number of hash blocks to process at a time (not set or 0 enables automatic selection of optimal number of hash blocks)
"multihash-thread-mask" : null, // for multihash-factors>0 only, limits multihash to given threads (mask), mask "0x3" means run multihash on thread 0 and 1 only (default: all threads)
"pow-variant" : "auto", // specificy the PoW variat to use: -> auto (default), 0 (v0), 1 (v1, aka monerov7, aeonv7), 2 (v2, aka monerov8), tube (ipbc), alloy (xao), xtl (including autodetect for > v5), msr, xhv, rto, xfh, upx
"pow-variant" : "auto", // specificy the PoW variat to use: -> auto (default), 0 (v0), 1 (v1, aka monerov7, aeonv7), 2 (v2, aka monerov8), tube (ipbc), alloy (xao), xtl (including autodetect for > v5), msr, xhv, rto, xfh, upx, turtle
// for further help see: https://github.com/Bendr0id/xmrigCC/wiki/Coin-configurations
"asm-optimization" : "auto", // specificy the ASM optimization to use: -> auto (default), intel, ryzen, bulldozer, off
"background": false, // true to run the miner in the background (Windows only, for *nix plase use screen/tmux or systemd service instead)
Expand Down
12 changes: 7 additions & 5 deletions src/crypto/CryptoNight.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -313,15 +313,15 @@ void setCryptoNightHashMethods(Options::Algo algo, bool aesni)
}
break;

case Options::ALGO_CRYPTONIGHT_SUPER_LITE:
case Options::ALGO_CRYPTONIGHT_SUPERLITE:
if (aesni) {
cryptonight_hash_ctx[HASH_FACTOR - 1] = cryptonight_super_lite_aesni<HASH_FACTOR>;
} else {
cryptonight_hash_ctx[HASH_FACTOR - 1] = cryptonight_super_lite_softaes<HASH_FACTOR>;
}
break;

case Options::ALGO_CRYPTONIGHT_ULTRA_LITE:
case Options::ALGO_CRYPTONIGHT_ULTRALITE:
if (aesni) {
cryptonight_hash_ctx[HASH_FACTOR - 1] = cryptonight_ultra_lite_aesni<HASH_FACTOR>;
} else {
Expand Down Expand Up @@ -534,12 +534,14 @@ bool CryptoNight::selfTest(int algo)
cryptonight_hash_ctx[0](asmOptimization, PowVariant::POW_UPX, test_input, 76, output, scratchPads);
resultLite = resultLite && memcmp(output, test_output_upx, 32) == 0;

} else if (algo == Options::ALGO_CRYPTONIGHT_SUPER_LITE) {
} else if (algo == Options::ALGO_CRYPTONIGHT_SUPERLITE) {

} else if (algo == Options::ALGO_CRYPTONIGHT_ULTRA_LITE) {
return false;

} else if (algo == Options::ALGO_CRYPTONIGHT_ULTRALITE) {
// cn ultralite (cnv8 + turtle)

cryptonight_hash_ctx[0](asmOptimization, PowVariant::POW_V0, test_input, 76, output, scratchPads);
cryptonight_hash_ctx[0](asmOptimization, PowVariant::POW_V2, test_input, 76, output, scratchPads);
resultUltraLite = resultUltraLite && memcmp(output, test_output_turtle, 32) == 0;

} else {
Expand Down
4 changes: 2 additions & 2 deletions src/default_miner_config.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"algo": "cryptonight", // cryptonight (default), cryptonight-lite or cryptonight-heavy
"algo": "cryptonight", // cryptonight (default), cryptonight-lite, cryptonight-ultralite or cryptonight-heavy
"aesni": 0, // selection of AES-NI mode (0 auto, 1 on, 2 off)
"threads": 0, // number of miner threads (not set or 0 enables automatic selection of optimal thread count)
"multihash-factor": 0, // number of hash blocks to process at a time (not set or 0 enables automatic selection of optimal number of hash blocks)
"multihash-thread-mask" : null, // for multihash-factors>0 only, limits multihash to given threads (mask), mask "0x3" means run multihash on thread 0 and 1 only (default: all threads)
"pow-variant" : "auto", // specificy the PoW variat to use: -> auto (default), 0 (v0), 1 (v1, aka monerov7, aeonv7), 2 (v2, aka monerov8), tube (ipbc), alloy (xao), xtl (including autodetect for > v5), msr, xhv, rto, xfh, upx
"pow-variant" : "auto", // specificy the PoW variat to use: -> auto (default), 0 (v0), 1 (v1, aka monerov7, aeonv7), 2 (v2, aka monerov8), tube (ipbc), alloy (xao), xtl (including autodetect for > v5), msr, xhv, rto, xfh, upx, turtle
// for further help see: https://github.com/Bendr0id/xmrigCC/wiki/Coin-configurations
"asm-optimization" : "auto", // specificy the ASM optimization to use: -> auto (default), intel, ryzen, bulldozer, off
"background": false, // true to run the miner in the background (Windows only, for *nix plase use screen/tmux or systemd service instead)
Expand Down
4 changes: 2 additions & 2 deletions src/net/Job.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,8 @@ bool Job::setTarget(const char *target)

PowVariant Job::powVariant() const
{
if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_ULTRA_LITE) {
return PowVariant::POW_V0;
if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_ULTRALITE) {
return PowVariant::POW_V2;
}

if (m_powVariant == PowVariant::POW_AUTODETECT) {
Expand Down
4 changes: 2 additions & 2 deletions src/net/strategies/DonateStrategy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ DonateStrategy::DonateStrategy(const char *agent, IStrategyListener *listener) :
url = new Url("donate2.graef.in", 8443, userId, nullptr, true, false, true);
} else if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_LITE) {
url = new Url("donate2.graef.in", 1080, userId, nullptr, true, false, true);
} else if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_ULTRA_LITE) {
} else if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_ULTRALITE) {
url = new Url("donate2.graef.in", 8090, userId, nullptr, true, false, true);
} else {
url = new Url("donate2.graef.in", 443, userId, nullptr, true, false, true);
Expand All @@ -70,7 +70,7 @@ DonateStrategy::DonateStrategy(const char *agent, IStrategyListener *listener) :
url = new Url("donate.graef.in", 8443, userId, nullptr, false, false, true);
} else if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_LITE) {
url = new Url("donate.graef.in", 1080, userId, nullptr, false, false, true);
} else if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_ULTRA_LITE) {
} else if (Options::i()->algo() == Options::ALGO_CRYPTONIGHT_ULTRALITE) {
url = new Url("donate2.graef.in", 8088, userId, nullptr, false, false, true);
} else {
url = new Url("donate2.graef.in", 80, userId, nullptr, false, false, true);
Expand Down
2 changes: 1 addition & 1 deletion src/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#define APP_DESC "XMRigCC CPU miner"
#define APP_COPYRIGHT "Copyright (C) 2017- BenDr0id"
#endif
#define APP_VERSION "1.8.9-beta1 (based on XMRig)"
#define APP_VERSION "1.8.9 (based on XMRig)"
#define APP_DOMAIN ""
#define APP_SITE "https://github.com/Bendr0id/xmrigCC"
#define APP_KIND "cpu"
Expand Down

0 comments on commit fc79fa7

Please sign in to comment.