Commit Graph

411 Commits

Author SHA1 Message Date
tevador
fe4324e8c0
Merge pull request #213 from hyc/m1typo
Fix typo for M1 Mac build
2021-05-22 13:55:05 +02:00
SChernykh
3c8c7ee097
Optimized dataset read (#211)
* Optimized dataset read

There was a false dependency on readReg2 and readReg3 (caused by `xor rbp, rax` instruction) when reading dataset item (see design.md - 4.6.2 Loop execution, steps 5 and 7). This change uses `ma` register to read dataset item before the whole `rbp` (`ma` and `mx`) is changed, so superscalar and out-of-order CPU can start executing it earlier.

Results: https://i.imgur.com/Bpeq9mx.png

~1% speedup on modern Intel/AMD CPUs.

* ARMv8: optimized dataset read

Break dependency from readReg2 and readReg3.

* Fixed light mode hashing
2021-05-22 13:54:50 +02:00
Howard Chu
1b3db29fb8 Fix typo for M1 Mac build 2021-05-22 12:44:55 +01:00
tevador
c12097400b
Merge pull request #212 from hyc/m1prot
Faster W^X policy for apple silicon macs
2021-05-22 12:39:04 +02:00
tevador
0db4c57823
Merge pull request #198 from tevador/pr-applem1
Apple silicon: force W^X, enable hardware AES
2021-05-22 12:30:42 +02:00
tevador
4aae0d834d
Merge pull request #202 from SChernykh/fix-crash
Fix illegal instruction crash on some ARM systems
2021-05-22 12:21:41 +02:00
Howard Chu
d9b7e8c25d Faster W^X policy for apple silicon macs 2021-05-20 20:35:18 +01:00
SChernykh
2ba7df2844 Fix illegal instruction crash on some ARM systems
See https://github.com/xmrig/xmrig/issues/1916
2021-02-01 23:19:14 +01:00
tevador
a44d07c89f
Merge pull request #201 from cryptonote-social/removecode
remove unnecessary first-load initialization code
2021-01-28 22:14:03 +01:00
cryptonote-social
529b933fcf remove unnecessary first-load initialization code 2021-01-23 14:56:35 -08:00
tevador
a38ce601fd Apple silicon: force W^X, enable hardware AES 2020-11-29 20:39:53 +01:00
tevador
5bfd021e8f
Merge pull request #183 from selsta/map_jit
virtual_memory: add MAP_JIT on macOS
2020-11-21 20:45:04 +01:00
tevador
5ce5f4906c add --noBatch benchmark option 2020-07-04 14:57:56 +02:00
selsta
7c172f746f
virtual_memory: add MAP_JIT on macOS 2020-06-28 17:29:41 +02:00
tevador
9905ec9c5a
Merge pull request #188 from cryptonote-social/master
replace hardcoded literal with its appropriate symbol
2020-06-28 16:36:40 +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
a1c08a2f41
Merge pull request #187 from tevador/pr-netbsd
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:35:19 +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
6a4afc721f
Merge pull request #189 from tevador/pr-set-cache
Fix potential use-after-free when reallocating cache
2020-06-27 20:42:15 +02:00
tevador
32ab5dea54 fix potential use-after-free when reallocating cache 2020-06-27 20:21:06 +02:00
cryptonote-social
a7733de1e7 replace hardcoded literal with its appropriate symbol 2020-06-27 09:53:46 -07:00
tevador
bece0a7206 fix #184 2020-06-09 19:10:56 +02:00
tevador
7741eb1e97
Merge pull request #182 from tevador/pr-restore-fpstate
Preserve floating point state when calling randomx_calculate_hash
2020-05-16 23:19:37 +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
ac574e3743
Merge pull request #179 from tevador/pr-hash-batch
Add a missing function to calculate a batch of hashes
2020-02-07 19:33:36 +01: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
913e495c53 Merge branch 'master' of git@github.com:tevador/RandomX.git 2020-02-06 18:13:52 +01:00
tevador
72ac5e49b6 Update dll project 2019-12-29 19:14:00 +01:00
tevador
bbbb34757b
Add a note about building portable binaries 2019-12-26 12:32:04 +01:00
tevador
a223b6b33b
Fixed an incorrect URL the the documentation 2019-12-18 12:30:49 +01:00
tevador
30969c0e25 Benchmark version 2019-12-01 21:07:13 +01:00
tevador
6e842d22bb
Merge pull request #171 from tevador/pr-affinityfix
Disable thread affinity on FreeBSD and Android
2019-12-01 20:51:36 +01:00
tevador
aa19c5b9b6 Disable thread affinity on FreeBSD and Android 2019-12-01 20:41:20 +01:00
tevador
70d4b0f2f1
Merge pull request #169 from tevador/pr-gitignore
Add .gitattributes
2019-12-01 20:04:30 +01:00
tevador
f872ce0b94
Merge pull request #170 from tevador/pr-temphash
Hide tempHash from the public API
2019-12-01 20:04:00 +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
6235852e00 Add .gitattributes 2019-12-01 16:39:42 +01:00
tevador
e3561d661e Updated readme with RandomX Sniffer 2019-12-01 11:52:56 +01:00
tevador
65fae68287 Add GPG public key 2019-11-29 15:12:28 +01:00
tevador
fd96d3df22
Merge pull request #160 from tevador/pr-install1
Improve install target (fixed)
2019-11-22 18:25:16 +01:00
Vladimir
01914b49cd Fixes for cmake build with visual studio (#144)
* Fixed CMake configuration for visual studio build

Added proper asm source and set correct type.

* Disabled stadard layout check of randomx_cache for visual studio debug

Required to silence static_assert which fails on Visual Studio Debug
configuation.

* Fixed warning message and defines check

* Removed unsupported flags for MSVC compiler

* Enabled AVX2 for msvc

* Fixed formatting in CmakeLists

* Added generation of configuration.asm by CMake for MSVC
2019-11-22 18:24:16 +01:00
tevador
7e20c8e56e
Merge pull request #161 from tevador/pr-struct
Fix inconsistent class/struct usage
2019-11-22 18:23:11 +01:00
tevador
7646cfede6 Add a note about safe key usage 2019-11-22 18:20:43 +01:00
tevador
88268ae325 Improved benchmark instructions 2019-11-22 18:16:58 +01:00
tevador
57545d1c53 Fix inconsistent class/struct usage 2019-11-19 23:17:55 +01:00
tevador
79c53ae9b0 Improve install target (fixed) 2019-11-19 22:51:43 +01:00
tevador
cb299e5a25
Merge pull request #158 from tevador/revert-150-dev/beber/build
Revert "dev/beber/build: improve install target"
2019-11-15 20:33:09 +01:00
tevador
4381ec3c89 Revert "dev/beber/build: improve install target (#150)"
This reverts commit 66c039030f.
2019-11-15 20:28:19 +01:00