Commit Graph
74 Commits
Author SHA1 Message Date
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
tevadorandGitHub 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
tevador 378d5def38 Added performance simulation 2019-05-21 11:24:49 +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 1029098719 Updated documentation 2019-05-15 23:13:22 +02:00
tevador 2b3a03a9dc Fixed FSCAL instruction causing group F registers to exceed their intended maximum value 2019-05-15 22:07:26 +02:00
tevador 4934bbf69d Updated documentation 2019-05-05 19:08:18 +02:00
tevador 40a08bb0c8 Fixed incorrect latency of mul_r in SuperscalarHash 2019-05-05 14:49:00 +02:00