fuwa
9db51f0102
rx-wow-fix-2: Revert "Decrease the frequency of FADD/FSUB in favor of FMUL ( #77 )"
...
This reverts commit 91cd35ff13
.
2020-04-02 20:39:26 +03:00
SChernykh
c6468a3816
JIT compiler for ARMv8 ( #125 )
...
JIT compiler for ARMv8
2019-09-22 21:06:22 +02:00
tevador
971f10c9c2
Changes recommended by Quarkslab ( #111 )
...
* Corrected bounds for some configuration parameters
* Clarifications in the specification
* Check validity of Argon2 parameters
2019-08-25 13:47:21 +02:00
tevador
c433f6d3a8
Fix: hardcoded JIT code buffer size ( #98 )
...
* code buffer size is calculated based on RandomX parameters
* added a maximum value constraint for program size and superscalar latency
* reduced the x86 code size of memory instructions by 1 byte
* disclaimer note in configuration documentation
2019-07-09 20:27:10 +02:00
tevador
47ade5e894
Do not attempt to allocate >= 4 GiB on 32-bit systems ( #99 )
...
+ Cache size limited to 2 GiB
2019-07-09 20:26:50 +02:00
tevador
89aba80925
Refactoring ( #95 )
...
* Blake2Generator::getInt32 renamed to getUInt32 to avoid confusion
* isPowerOf2 renamed to isZeroOrPowerOf2 to avoid confusion
* added asserts to validate the input/output size of AES functions
* fixed possible overflow in JitCompilerX86::getCodeSize (unused function)
2019-07-03 18:13:20 +02:00
tevador
c6b5ec12b6
Fix: possible overflow when using non-standard Dataset size ( #87 )
2019-06-29 18:52:22 +02:00
tevador
91cd35ff13
Decrease the frequency of FADD/FSUB in favor of FMUL ( #77 )
...
* this better matches CPU capabilities since execution ports are usually split 1:1 between fadd and fmul
* the frequency of FSWAP_R decreased from 8 to 4 (it's ASIC-friendly)
* activate IROL_R instruction
2019-06-22 16:05:22 +02:00
tevador
07293a9378
Regression tests ( #73 )
...
* instruction decode/execute separated into class BytecodeMachine
* added randomx-tests project
* removed the use of non-portable __COUNTER__ macro
* removed the use of unsupported FENV_ACCESS pragma
2019-06-22 15:54:43 +02:00
tevador
e31a621d6f
Fix possible overflow in static_assert ( #67 )
2019-06-14 23:16:27 +02:00
tevador
0c5b666df4
Configuration guidelines ( #59 )
...
* added detailed guidelines for the selection of configuration values
* added additional compile-time checks to prevent bad configurations
* removed RANDOMX_SUPERSCALAR_MAX_SIZE parameter
2019-06-10 15:57:36 +02:00
tevador
8a5ead5ce3
Use 'dst' as the CBRANCH condition register
...
See issue #43
2019-05-21 08:37:36 +02:00
tevador
2706a8b753
Relicensed under the 3-clause BSD license
2019-05-18 14:21:47 +02:00
tevador
3dd21ea93d
Prepare for JIT compiler support for other platforms
2019-05-12 22:31:48 +02:00
tevador
b1f1e1d6ad
Fixed IMUL_RCP if divisor is a power of 2
2019-05-04 18:00:17 +02:00
tevador
9e5eac8645
Fixed a chance of CBRANCH looping
...
Fixed CBRANCH jump probability being lower than expected
2019-05-03 14:02:40 +02:00
tevador
1a4bde36be
Fixed a missing header dependency
2019-04-30 21:33:02 +02:00
tevador
ca96270509
Group E exponent changed from a static value (-240) to dynamic
2019-04-30 21:14:50 +02:00
tevador
3cf6a30076
Fixed biased condition register selection
2019-04-30 10:20:28 +02:00
tevador
ffebc37381
COND_R instruction reworked as CBRANCH
...
instruction mod field bits reallocated
2019-04-29 23:38:23 +02:00
tevador
cf72ed79c7
Function typedefs without pointer
2019-04-28 18:17:29 +02:00
tevador
7f6bdd9a52
Code cleanup & refactoring
2019-04-28 16:42:45 +02:00
tevador
22a3aa8d79
randomx_cache and randomx_dataset changed to standard-layout structs
2019-04-28 12:44:28 +02:00
tevador
270a4f97fe
Dataset size increased to 2080 MiB
...
Implemented dataset base offset
Tweaked SuperscalarHash constants to prevent register collisions
2019-04-26 16:05:30 +02:00
tevador
f66da3911e
Fixed some compilation issues
...
Code cleanup
2019-04-26 11:07:47 +02:00
tevador
b4dca14f0c
Added a function to access the dataset memory buffer
...
Number of dataset items changed from a macro to a getter function.
2019-04-23 22:15:55 +02:00
tevador
87b8253374
API documentation
...
'dataset block' -> 'dataset item'
customizable benchmark seed
2019-04-22 15:13:41 +02:00
tevador
41b51a4858
Cleaned up legacy code
2019-04-21 14:07:32 +02:00
tevador
296e77eebc
C API - first working version
2019-04-20 11:08:01 +02:00
tevador
33a2fd021d
Unique scratchpad addresses
2019-04-14 17:21:26 +02:00
tevador
9404516dd8
Refactoring
2019-04-12 14:56:20 +02:00
tevador
77dbe14658
SuperscalarHash JIT compiler
...
(unfinished)
2019-04-06 12:00:56 +02:00
tevador
2edf05cedc
Implemented Dataset size increase per epoch
2019-03-10 23:14:03 +01:00
tevador
e65d9da66c
Configurable parameters separated into configuration.h
2019-03-08 15:34:34 +01:00
tevador
f0d52fcf4d
Fixed dependent constants
2019-02-15 11:38:20 +01:00
tevador
0b1761a846
Refactoring: mining/verification mode
2019-02-11 18:57:42 +01:00
tevador
b8ce504be6
Added comments to hashAes1Rx4 and fillAes1Rx4
...
Fixed gcc compilation
Added performance numbers
2019-02-09 19:32:53 +01:00
tevador
32d827d0a6
Interpreter with bytecode
...
Fixed some undefined behavior with signed types
Fixed different results on big endian systems
Removed unused code files
Restored FNEG_R instructions
Updated documentation
2019-02-09 15:45:26 +01:00
tevador
b417fd08ea
16 -> 8 chained programs
...
constant address loads are always from L3
2019-02-05 23:06:44 +01:00
tevador
1ee94bef2a
Added ISWAP instruction
...
Scratchpad -> 2 MiB
New scratchpad initialization
New dataset initialization
2019-02-04 17:07:00 +01:00
tevador
8f2abd6c05
NOP instruction
...
register load/store from L3
2019-01-27 18:19:49 +01:00
tevador
005c67f64c
Added explicit STORE instructions
...
JIT compiler
2019-01-27 10:52:30 +01:00
tevador
d2cb086221
ASM code generator for "small" programs that fit into the uOP cache
2019-01-24 19:29:59 +01:00
tevador
16db607025
Scratchpad size increased to 1 MiB
...
New AES-based scratchpad hashing function
2019-01-18 23:51:18 +01:00
tevador
89bc68d093
Memory-bound dataset initialization
2019-01-18 18:44:06 +01:00
tevador
4fb168e249
Large page support for cache
...
Bug fixes
2019-01-18 17:57:47 +01:00
tevador
8b1102ee05
Interpreter + async mode
2019-01-15 00:01:11 +01:00
tevador
48d85643de
Dataset intialization algorithm (AES)
2019-01-13 13:47:25 +01:00
tevador
d1a808643d
Random accesses - JIT compiler
2019-01-10 22:04:55 +01:00
tevador
2f6a599ff6
Inlined calls for memory read
2019-01-07 17:44:43 +01:00