jsteube
874635cc49
Do not use a vector function to write into a scalar variable even if vectorize support is disabled
7 years ago
jsteube
512fb5f6fb
No inline keyword for rules
7 years ago
jsteube
3e08750900
OpenCL Kernels: Add general function declaration keyword (static inline)
7 years ago
jsteube
503f676cb0
Remove static keywords from OpenCL functions, they can cause old NV JiT compiler to fail
7 years ago
mhasbini
de7ccd88ef
Fix overflow in mangle_dupechar_last function
7 years ago
jsteube
1d04de3a8e
Limit kernel-loops in straight-mode to 256, therefore allow rules to be stored in constant memory
7 years ago
jsteube
8853884f2a
Fix append_four_byte() in case sm8 is 0
7 years ago
jsteube
f32e113942
Add missing case in append_block() in pure kernel rule engine
7 years ago
jsteube
ad1ce462d1
Get rid of ceil() in OpenCL kernels
7 years ago
jsteube
5b5bdf3889
Replace some SIMD related function calls
7 years ago
jsteube
967e96728d
Make all the OpenCL kernel function includes static
7 years ago
jsteube
ec874c1d59
Optimized the following pure kernel rule engine functions:
...
- mangle_lrest()
- mangle_lrest_ufirst()
- mangle_urest()
- mangle_urest_lfirst()
- mangle_trest()
- mangle_toggle_at()
- mangle_reverse()
- mangle_dupeword()
- mangle_reflect()
- mangle_rotate_left()
- mangle_rotate_right()
- mangle_switch_first()
- mangle_switch_last()
- mangle_switch_at()
- mangle_title_sep()
- mangle_title_sep()
Added some helper functions:
- generate_cmask()
- append_four_byte()
- append_three_byte()
- append_two_byte()
- append_one_byte()
- append_block()
- exchange_byte()
Removed some helper functions:
- upper_at()
- lower_at()
- toggle_at()
- mangle_switch()
NOTE: Changes need to be backported to CPU when finished
7 years ago
jsteube
9a57c4b20e
Fix missing boundary check in pure kernel rule engine
7 years ago
jsteube
0b0abb5c12
Prepare pure kernel rule engine for performance optimization
7 years ago
jsteube
cb1fe251de
Add missing functions to pure kernel rule engine
7 years ago
jsteube
8a0d21360b
Prepare for pure kernel rule engine support
7 years ago
jsteube
34d882a116
Rename inc_rp.X to inc_rp_optimized.X
7 years ago
jsteube
c5c12f89c1
Rewrite code around amd_bytealign to be of type BE to save a branch afterwards
7 years ago
jsteube
a53d9e09de
Fix some issue with offset_minus_4
7 years ago
jsteube
5e34ec348e
Optimize kernels for ROCm 1.6
...
- Remove inline keywords
- Remove volatile keywords where it causes ROCm to slow down
- Replace DES functions (looks like bitselect somehow is no longer mapped to BFI_INT)
7 years ago
mhasbini
5734741392
Add support for rule: eX
8 years ago
Jens Steube
7fe575e204
Add const qualifier to variable declaration of matching global memory objects
8 years ago
jsteube
d081ac2ba1
Fix some uninitialized variables in rp_kernel_on_cpu.c
8 years ago
jsteube
1ed89eb261
Fix rule-engine optimizations for vector datatypes
8 years ago
jsteube
faf6f1932d
Optimize append_block8()
8 years ago
jsteube
bd12a1eb0d
Optimize rule_op_mangle_dupechar_last()
8 years ago
jsteube
03fde2cdc3
Optimize rule_op_mangle_delete_last()
8 years ago
jsteube
a4f7ba2c60
Optimize rule_op_mangle_rotate_right()
8 years ago
jsteube
9038955bc6
Optimize rule_op_mangle_rotate_left()
8 years ago
jsteube
f3dd6fe741
Some cleanup before going to optimize more code in inc_rp.c
8 years ago
jsteube
ae5109a5a2
Optimize $ (append) rule performance
8 years ago
jsteube
3daf0af480
Added docs/credits.txt
...
Added docs/team.txt
8 years ago
jsteube
8acf5b3879
Add support for @ rule (RULE_OP_MANGLE_PURGECHAR) to use on GPU
8 years ago
jsteube
0154d636bf
Slightly increased NVidias rule-processing performance by using generic instructions instead of byte_perm()
8 years ago
jsteube
5caf32447e
Some experiment. This should increase rule-based cracking on nvidia slightly
8 years ago
Jens Steube
2899f53a15
Move files from include/ to OpenCL/ if they are used within kernels
...
Rename includes in OpenCL so that it's easier to recognize them as such
8 years ago