tevador
5ce5f4906c
add --noBatch benchmark option
2020-07-04 14:57:56 +02:00
tevador
863765bbe6
Merge pull request #185 from tevador/pr-crosscomp
...
Fix windows-target cross-compilation
2020-06-28 16:36:12 +02:00
tevador
708a4e50c5
Fix compilation and JIT support on NetBSD:
...
1. Disable hugepages (not supported).
2. Force W^X (required).
3. When allocating JIT memory, PROT_EXEC must be reserved
in order to set the pages executable later.
2020-06-28 16:16:20 +02:00
tevador
bece0a7206
fix #184
2020-06-09 19:10:56 +02:00
tevador
148b923f71
fix test 92 not failing properly on GCC/amd64
2020-05-06 13:48:53 +02:00
tevador
6a764e90d0
Preserve floating point state when calling randomx_calculate_hash
2020-05-06 12:42:30 +02:00
tevador
01381ccef3
Add a missing function to calculate a batch of hashes
...
Add a test for batch calculation
2020-02-06 18:14:38 +01:00
tevador
30969c0e25
Benchmark version
2019-12-01 21:07:13 +01:00
tevador
aa19c5b9b6
Disable thread affinity on FreeBSD and Android
2019-12-01 20:41:20 +01:00
tevador
3910d49b49
Hide tempHash from the public API
2019-12-01 18:19:09 +01:00
SChernykh
219c02e1e5
Combined hash and fill AES loop ( #166 )
...
Adds more parallelizm into AES loop so modern CPUs can take advantage of it. Also, scratchpad data moves between L1 and L3 caches only one time which saves time and energy per hash.
2019-12-01 16:58:38 +01:00
tevador
88268ae325
Improved benchmark instructions
2019-11-22 18:16:58 +01:00
tevador
53af68c34a
Benchmark v1.1.5
2019-10-23 17:02:22 +02:00
tevador
e3c5ab7002
Merge branch 'master' of git@github.com:tevador/RandomX.git
2019-10-23 16:57:44 +02:00
tevador
a1f0f90ac2
randomx-tests: do not run unsupported tests
2019-10-23 16:57:25 +02:00
ston1th
5c0486bd33
Fixed tests on OpenBSD
...
Since OpenBSD 6.0 W^X is enforced.
Added `RANDOMX_FLAG_SECURE` in tests and benchmarks.
Updated comment.
Excluded `cpu_set_t` since it is not defined on OpenBSD.
2019-10-20 14:23:33 +02:00
tevador
b53f0ed145
Benchmark v1.1.4
2019-10-11 12:37:17 +02:00
tevador
5570c698e7
Fix superscalar-stats generator initialization
2019-10-11 12:04:55 +02:00
tevador
fc892fc5c0
Select AVX2 if both AVX2 and SSSE3 flags are set
2019-10-09 21:37:14 +02:00
tevador
ebbe7696c7
Fix examples
2019-10-09 19:49:54 +02:00
tevador
e0484dfb99
Automatic detection of CPU capabilities
2019-10-08 23:09:35 +02:00
tevador
cce53cb582
use SSSE3 consistently as opposed to SSE3
2019-10-06 23:46:49 +02:00
tevador
900a936816
Optimized Argon2 (SSSE3/AVX2)
2019-10-06 18:07:23 +02:00
tevador
298cc77095
Benchmark v1.1.3
2019-10-04 08:47:57 +02:00
tevador
0dc104ff7e
Simplify cache init in tests
2019-10-04 08:44:06 +02:00
tevador
519b9cf705
Benchmark v1.1.2
2019-09-25 22:24:08 +02:00
tevador
7c405a7dc4
Fix tests without JIT support
2019-09-25 15:15:39 +02:00
tevador
2441730203
Update --jit flag description
2019-09-22 22:29:48 +02:00
tevador
eef87a0f63
Documentation updates
2019-09-22 22:18:28 +02:00
Jethro Grassie
73021b89e0
fix MSYS thread handle cast
2019-08-30 17:27:06 -04:00
tevador
bd8ef0375a
Update benchmark
2019-08-30 09:53:22 +02:00
tevador
eee355d85b
Fixed tests
2019-08-30 09:44:24 +02:00
tevador
67010ab554
Optional W^X policy for JIT pages ( #112 )
2019-08-25 13:47:40 +02:00
tevador
91f3edb5eb
Fix use-after-free in benchmark (debug build)
2019-08-05 09:10:10 +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
Jethro Grassie
41401797c9
benchmark: affinity cast for mingw ( #96 )
2019-07-03 18:13:38 +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
aaa6e4e881
Sanity checks ( #88 )
2019-06-29 18:53:49 +02:00
tevador
4a4b06e44b
More helpful error messages in the benchmark
...
Move reciprocal tests before Dataset initialization
Fix randomx.dll project
2019-06-28 10:37:41 +02:00
tevador
1f62d787ad
Fix header dependency of superscalar_program.hpp
...
Fix tests
Fix a typo in design.md
2019-06-24 13:58:41 +02:00
tevador
e6ba0a1b7d
Code generator fixups
...
- fixed a crash in Instruction::print
- new example program
- added a design note about the number of x86 instruction per VM instruction
2019-06-23 23:10:29 +02:00
tevador
77f809e8db
Merge branch 'jtgrassie-affinity'
2019-06-22 23:28:05 +02:00
tevador
e8cf27eab5
Fixed Visual Studio build
...
Moved affinity to tests
Fixed strange output from mask_to_string
2019-06-22 23:11:24 +02:00
tevador
8282413154
Updated documentation and test vectors
...
Added AesGenerator1R test
Added benchmark hints if large pages fail
2019-06-22 17:42:26 +02:00
tevador
83498cddf2
Different round keys for columns 0,1 and 2,3 in AesGenerator4R ( #76 )
...
* this fixes identical sequences of columns 0/2 and 1/3 if their states are the same
* added TestU01 results for AesGenerator1R and AesGenerator4R
* added a note about the reversibility of AesHash1R
2019-06-22 15:56:01 +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
Jethro Grassie
81d3a9d4a1
benchmark: add thread affinity setting
2019-06-13 23:33:41 -04:00
tevador
e4b2270104
Merge pull request #47 from tevador/pr-doc
...
Documentation and tests
2019-06-01 11:14:13 +02:00
tevador
f7c99c5b58
Use 4 AES rounds for program generation ( #46 )
2019-06-01 11:13:30 +02:00
tevador
8298c9faf8
Much more detailed design description
...
Added runtime distribution test
Fixed inaccurate results of performance simulations
Program publicly accessible in randomx_vm class
2019-06-01 11:02:40 +02:00