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
tevadorandGitHub 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
SChernykhandtevador 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
tevadorandGitHub 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
tevadorandGitHub 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 Grassieandtevador 41401797c9 benchmark: affinity cast for mingw (#96) 2019-07-03 18:13:38 +02:00
tevadorandGitHub 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
tevadorandGitHub 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
tevadorandGitHub 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
tevadorandGitHub 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
tevadorandGitHub e4b2270104 Merge pull request #47 from tevador/pr-doc
Documentation and tests
2019-06-01 11:14:13 +02:00