Skip to content

Commit

Permalink
Adds RX/GRAFT support
Browse files Browse the repository at this point in the history
  • Loading branch information
Bendr0id committed Aug 26, 2021
1 parent b953208 commit a57da3e
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 1 deletion.
5 changes: 5 additions & 0 deletions src/base/crypto/Algorithm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,8 @@ static AlgoName const algorithm_names[] = {
{ "randomx/xla", "rx/xla", Algorithm::RX_XLA },
{ "randomx/yada", "rx/yada", Algorithm::RX_YADA },
{ "RandomYADA", nullptr, Algorithm::RX_YADA },
{ "randomx/graft", "rx/graft", Algorithm::RX_GRAFT },
{ "RandomX-Graft", nullptr, Algorithm::RX_GRAFT },
# endif
# ifdef XMRIG_ALGO_ARGON2
{ "argon2/chukwa", nullptr, Algorithm::AR2_CHUKWA },
Expand Down Expand Up @@ -181,6 +183,7 @@ size_t xmrig::Algorithm::l2() const
case RX_0:
case RX_SFX:
case RX_YADA:
case RX_GRAFT:
return 0x40000;

case RX_WOW:
Expand Down Expand Up @@ -233,6 +236,7 @@ size_t xmrig::Algorithm::l3() const
case RX_0:
case RX_SFX:
case RX_YADA:
case RX_GRAFT:
return oneMiB * 2;

case RX_WOW:
Expand Down Expand Up @@ -359,6 +363,7 @@ xmrig::Algorithm::Family xmrig::Algorithm::family(Id id)
case RX_SFX:
case RX_KEVA:
case RX_XLA:
case RX_GRAFT:
return RANDOM_X;
# endif

Expand Down
1 change: 1 addition & 0 deletions src/base/crypto/Algorithm.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ class Algorithm
RX_SFX, // "rx/sfx" RandomSFX (Safex Cash).
RX_KEVA, // "rx/keva" RandomKV (Keva).
RX_XLA, // "rx/xla" RandomX-Panthera (Scala).
RX_GRAFT, // "rx/graft" RandomX-Graft
AR2_CHUKWA, // "argon2/chukwa" Argon2id (Chukwa).
AR2_CHUKWA_V2, // "argon2/chukwav2" Argon2id (Chukwa v2).
AR2_CHUKWA_LITE,// "argon2/chukwa-lite" Argon2id (Chukwa-Lite).
Expand Down
2 changes: 1 addition & 1 deletion src/crypto/randomx/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define RANDOMX_DATASET_MAX_SIZE 2181038080

// Increase it if some configs use larger programs
#define RANDOMX_PROGRAM_MAX_SIZE 256
#define RANDOMX_PROGRAM_MAX_SIZE 280

// Increase it if some configs use larger scratchpad
#define RANDOMX_SCRATCHPAD_L3_MAX_SIZE 2097152
12 changes: 12 additions & 0 deletions src/crypto/randomx/randomx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,17 @@ RandomX_ConfigurationYada::RandomX_ConfigurationYada()
ArgonIterations = 4;
}

RandomX_ConfigurationGraft::RandomX_ConfigurationGraft()
{
ArgonIterations = 3;
ArgonLanes = 2;
ArgonSalt = "RandomX-Graft\x01";
ProgramIterations = 2048;
ProgramSize = 280;
RANDOMX_FREQ_IROR_R = 7;
RANDOMX_FREQ_IROL_R = 3;
}

RandomX_ConfigurationBase::RandomX_ConfigurationBase()
: SuperscalarLatency(170)
, ArgonMemory(262144)
Expand Down Expand Up @@ -396,6 +407,7 @@ RandomX_ConfigurationSafex RandomX_SafexConfig;
RandomX_ConfigurationKeva RandomX_KevaConfig;
RandomX_ConfigurationScala RandomX_ScalaConfig;
RandomX_ConfigurationYada RandomX_YadaConfig;
RandomX_ConfigurationGraft RandomX_GraftConfig;

alignas(64) RandomX_ConfigurationBase RandomX_CurrentConfig;

Expand Down
2 changes: 2 additions & 0 deletions src/crypto/randomx/randomx.h
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ struct RandomX_ConfigurationSafex : public RandomX_ConfigurationBase { RandomX_C
struct RandomX_ConfigurationKeva : public RandomX_ConfigurationBase { RandomX_ConfigurationKeva(); };
struct RandomX_ConfigurationScala : public RandomX_ConfigurationBase { RandomX_ConfigurationScala(); };
struct RandomX_ConfigurationYada : public RandomX_ConfigurationBase { RandomX_ConfigurationYada(); };
struct RandomX_ConfigurationGraft: public RandomX_ConfigurationBase { RandomX_ConfigurationGraft(); };

extern RandomX_ConfigurationMonero RandomX_MoneroConfig;
extern RandomX_ConfigurationWownero RandomX_WowneroConfig;
Expand All @@ -162,6 +163,7 @@ extern RandomX_ConfigurationSafex RandomX_SafexConfig;
extern RandomX_ConfigurationKeva RandomX_KevaConfig;
extern RandomX_ConfigurationScala RandomX_ScalaConfig;
extern RandomX_ConfigurationYada RandomX_YadaConfig;
extern RandomX_ConfigurationGraft RandomX_GraftConfig;

extern RandomX_ConfigurationBase RandomX_CurrentConfig;

Expand Down
3 changes: 3 additions & 0 deletions src/crypto/rx/RxAlgo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ const RandomX_ConfigurationBase *xmrig::RxAlgo::base(Algorithm::Id algorithm)
case Algorithm::RX_YADA:
return &RandomX_YadaConfig;

case Algorithm::RX_GRAFT:
return &RandomX_GraftConfig;

default:
break;
}
Expand Down

0 comments on commit a57da3e

Please sign in to comment.