Commit graph

83 commits

Author SHA1 Message Date
selsta
85a4032f34
RandomX benchmark 1.1.11 2021-11-16 03:05:28 +01:00
tevador
8006ac7ec0 Fix native code generator using the wrong hash function 2021-11-06 16:16:26 +01:00
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