# This file is used to override autotune settings
# This file is used to preset the Vector-Width, the Kernel-Accept and the Kernel-Loops Value per Device, Attack-Mode and Hash-Type
#
# - A valid line consists of the following fields (in that order):
#   - Device-Name
#   - Attack-Mode
#   - Hash-Type
#   - Vector-Width
#   - Kernel-Accel
#   - Kernel-Loops
# - The first three columns define the filter, the other three is what is assigned when that filter matches
# - If no filter matches, autotune is used
# - Columns are separated with one or many spaces or tabs
# - A line can not start with a space or a tab
# - Comment lines are allowed, use a # as first character
# - Invalid lines are ignored
# - The Device-Name is the OpenCL Device-Name. It's shown on hashcat startup.
#   - If the device contains spaces, replace all spaces with _ character.
# - The Device-Name can be assigned an alias. This is useful if many devices share the same chip
#   - If you assign an alias, make sure to not use the devices name directly
# - There's also a hard-wired Device-Name which matches all device types called:
#   - DEVICE_TYPE_CPU
#   - DEVICE_TYPE_GPU
#   - DEVICE_TYPE_ACCELERATOR
# - The use of wildcards is allowed, some rules:
#   - Wildcards can only replace an entire Device-Name, not parts just of it. eg: not Geforce_*
#   - The policy is local > global, means the closer you configure something, the more likely it is selected
#   - The policy testing order is from left to right
# - Attack modes can be:
#   - 0 = Dictionary-Attack
#   - 1 = Combinator-Attack, will also be used for attack-mode 6 and 7 since they share the same kernel
#   - 3 = Mask-Attack
# - The Kernel-Accel is a multiplier to OpenCL's concept of a workitem, not the workitem count
# - The Kernel-Loops has a functionality depending on the hash-type:
#   - Slow Hash: Number of iterations calculated per workitem
#   - Fast Hash: Number of mutations calculated per workitem
# - None of both should be confused with the OpenCL concept of a "thread", this one is maintained automatically
# - The Vector-Width can have only the values 1, 2, 4, 8 or 'N', where 'N' stands for native, which is an OpenCl-queried data value
# - The Kernel-Accel is limited to 1024
# - The Kernel-Loops is limited to 1024
# - The Kernel-Accel can have 'A', where 'A' stands for autotune
# - The Kernel-Accel can have 'M', where 'M' stands for maximum possible
# - The Kernel-Loops can have 'A', where 'A' stands for autotune
# - The Kernel-Loops can have 'M', where 'M' stands for maximum possible

#############
## ALIASES ##
#############

#Device                                         Alias
#Name                                           Name

Tesla_C2050                                     ALIAS_nv_real_simd
Tesla_C2050/C2070                               ALIAS_nv_real_simd
Tesla_C2070                                     ALIAS_nv_real_simd
Tesla_C2075                                     ALIAS_nv_real_simd
Tesla_K10                                       ALIAS_nv_real_simd
Tesla_K20                                       ALIAS_nv_real_simd
Tesla_K40                                       ALIAS_nv_real_simd
Tesla_K80                                       ALIAS_nv_real_simd
Tesla_M20xx                                     ALIAS_nv_real_simd

Quadro_410                                      ALIAS_nv_real_simd
Quadro_K2000                                    ALIAS_nv_real_simd
Quadro_K2000D                                   ALIAS_nv_real_simd
Quadro_K4000                                    ALIAS_nv_real_simd
Quadro_K4200                                    ALIAS_nv_real_simd
Quadro_K420                                     ALIAS_nv_real_simd
Quadro_K5000                                    ALIAS_nv_real_simd
Quadro_K5200                                    ALIAS_nv_real_simd
Quadro_K6000                                    ALIAS_nv_real_simd
Quadro_K600                                     ALIAS_nv_real_simd
Quadro_Plex_7000                                ALIAS_nv_real_simd

NVS_310                                         ALIAS_nv_real_simd
NVS_315                                         ALIAS_nv_real_simd
NVS_4200M                                       ALIAS_nv_real_simd
NVS_510                                         ALIAS_nv_real_simd
NVS_5200M                                       ALIAS_nv_real_simd
NVS_5400M                                       ALIAS_nv_real_simd

GeForce_410M                                    ALIAS_nv_real_simd
GeForce_610M                                    ALIAS_nv_real_simd
GeForce_705M                                    ALIAS_nv_real_simd
GeForce_710M                                    ALIAS_nv_real_simd
GeForce_800M                                    ALIAS_nv_real_simd
GeForce_820M                                    ALIAS_nv_real_simd
GeForce_920M                                    ALIAS_nv_real_simd
GeForce_GT_410M                                 ALIAS_nv_real_simd
GeForce_GT_415M                                 ALIAS_nv_real_simd
GeForce_GT_420M                                 ALIAS_nv_real_simd
GeForce_GT_430                                  ALIAS_nv_real_simd
GeForce_GT_435M                                 ALIAS_nv_real_simd
GeForce_GT_440                                  ALIAS_nv_real_simd
GeForce_GT_445M                                 ALIAS_nv_real_simd
GeForce_GT_520                                  ALIAS_nv_real_simd
GeForce_GT_520M                                 ALIAS_nv_real_simd
GeForce_GT_520MX                                ALIAS_nv_real_simd
GeForce_GT_525M                                 ALIAS_nv_real_simd
GeForce_GT_540M                                 ALIAS_nv_real_simd
GeForce_GT_550M                                 ALIAS_nv_real_simd
GeForce_GT_555M                                 ALIAS_nv_real_simd
GeForce_GT_610                                  ALIAS_nv_real_simd
GeForce_GT_620                                  ALIAS_nv_real_simd
GeForce_GT_620M                                 ALIAS_nv_real_simd
GeForce_GT_625M                                 ALIAS_nv_real_simd
GeForce_GT_630                                  ALIAS_nv_real_simd
GeForce_GT_630M                                 ALIAS_nv_real_simd
GeForce_GT_635M                                 ALIAS_nv_real_simd
GeForce_GT_640                                  ALIAS_nv_real_simd
GeForce_GT_640M                                 ALIAS_nv_real_simd
GeForce_GT_640M_LE                              ALIAS_nv_real_simd
GeForce_GT_645M                                 ALIAS_nv_real_simd
GeForce_GT_650M                                 ALIAS_nv_real_simd
GeForce_GT_705                                  ALIAS_nv_real_simd
GeForce_GT_720                                  ALIAS_nv_real_simd
GeForce_GT_720M                                 ALIAS_nv_real_simd
GeForce_GT_730                                  ALIAS_nv_real_simd
GeForce_GT_730M                                 ALIAS_nv_real_simd
GeForce_GT_735M                                 ALIAS_nv_real_simd
GeForce_GT_740                                  ALIAS_nv_real_simd
GeForce_GT_740M                                 ALIAS_nv_real_simd
GeForce_GT_745M                                 ALIAS_nv_real_simd
GeForce_GT_750M                                 ALIAS_nv_real_simd
GeForce_GTS_450                                 ALIAS_nv_real_simd
GeForce_GTX_460                                 ALIAS_nv_real_simd
GeForce_GTX_460M                                ALIAS_nv_real_simd
GeForce_GTX_465                                 ALIAS_nv_real_simd
GeForce_GTX_470                                 ALIAS_nv_real_simd
GeForce_GTX_470M                                ALIAS_nv_real_simd
GeForce_GTX_480                                 ALIAS_nv_real_simd
GeForce_GTX_480M                                ALIAS_nv_real_simd
GeForce_GTX_485M                                ALIAS_nv_real_simd
GeForce_GTX_550_Ti                              ALIAS_nv_real_simd
GeForce_GTX_560M                                ALIAS_nv_real_simd
GeForce_GTX_560_Ti                              ALIAS_nv_real_simd
GeForce_GTX_570                                 ALIAS_nv_real_simd
GeForce_GTX_570M                                ALIAS_nv_real_simd
GeForce_GTX_580                                 ALIAS_nv_real_simd
GeForce_GTX_580M                                ALIAS_nv_real_simd
GeForce_GTX_590                                 ALIAS_nv_real_simd
GeForce_GTX_610M                                ALIAS_nv_real_simd
GeForce_GTX_650                                 ALIAS_nv_real_simd
GeForce_GTX_650_Ti                              ALIAS_nv_real_simd
GeForce_GTX_650_Ti_BOOST                        ALIAS_nv_real_simd
GeForce_GTX_660                                 ALIAS_nv_real_simd
GeForce_GTX_660M                                ALIAS_nv_real_simd
GeForce_GTX_660_Ti                              ALIAS_nv_real_simd
GeForce_GTX_670                                 ALIAS_nv_real_simd
GeForce_GTX_670M                                ALIAS_nv_real_simd
GeForce_GTX_670MX                               ALIAS_nv_real_simd
GeForce_GTX_675M                                ALIAS_nv_real_simd
GeForce_GTX_675MX                               ALIAS_nv_real_simd
GeForce_GTX_680                                 ALIAS_nv_real_simd
GeForce_GTX_680M                                ALIAS_nv_real_simd
GeForce_GTX_680MX                               ALIAS_nv_real_simd
GeForce_GTX_690                                 ALIAS_nv_real_simd
GeForce_GTX_705M                                ALIAS_nv_real_simd
GeForce_GTX_710M                                ALIAS_nv_real_simd
GeForce_GTX_760                                 ALIAS_nv_real_simd
GeForce_GTX_760M                                ALIAS_nv_real_simd
GeForce_GTX_765M                                ALIAS_nv_real_simd
GeForce_GTX_770                                 ALIAS_nv_real_simd
GeForce_GTX_770M                                ALIAS_nv_real_simd
GeForce_GTX_780                                 ALIAS_nv_real_simd
GeForce_GTX_780M                                ALIAS_nv_real_simd
GeForce_GTX_780_Ti                              ALIAS_nv_real_simd
GeForce_GTX_800M                                ALIAS_nv_real_simd
GeForce_GTX_820M                                ALIAS_nv_real_simd
GeForce_GTX_860M                                ALIAS_nv_real_simd
GeForce_GTX_870M                                ALIAS_nv_real_simd
GeForce_GTX_880M                                ALIAS_nv_real_simd
GeForce_GTX_920M                                ALIAS_nv_real_simd
#GeForce_GTX_TITAN                              ALIAS_nv_real_simd
GeForce_GTX_TITAN_Black                         ALIAS_nv_real_simd
GeForce_GTX_TITAN_Z                             ALIAS_nv_real_simd

##
## Maxwell sm_50 cards or higher
##

Quadro_K1200                                    ALIAS_nv_sm50_or_higher
Quadro_K2200                                    ALIAS_nv_sm50_or_higher
Quadro_K2200M                                   ALIAS_nv_sm50_or_higher
Quadro_K620                                     ALIAS_nv_sm50_or_higher
Quadro_K620M                                    ALIAS_nv_sm50_or_higher
Quadro_M1000M                                   ALIAS_nv_sm50_or_higher
Quadro_M2000M                                   ALIAS_nv_sm50_or_higher
Quadro_M3000M                                   ALIAS_nv_sm50_or_higher
Quadro_M4000M                                   ALIAS_nv_sm50_or_higher
Quadro_M5000M                                   ALIAS_nv_sm50_or_higher
Quadro_M500M                                    ALIAS_nv_sm50_or_higher
Quadro_M5500M                                   ALIAS_nv_sm50_or_higher
Quadro_M600M                                    ALIAS_nv_sm50_or_higher

NVS_810                                         ALIAS_nv_sm50_or_higher

GeForce_GTX_750                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_750_Ti                              ALIAS_nv_sm50_or_higher

GeForce_830M                                    ALIAS_nv_sm50_or_higher
GeForce_830M                                    ALIAS_nv_sm50_or_higher
GeForce_840M                                    ALIAS_nv_sm50_or_higher
GeForce_840M                                    ALIAS_nv_sm50_or_higher
GeForce_GTX_850M                                ALIAS_nv_sm50_or_higher

Tesla_M4                                        ALIAS_nv_sm50_or_higher
Tesla_M6                                        ALIAS_nv_sm50_or_higher
Tesla_M10                                       ALIAS_nv_sm50_or_higher
Tesla_M40                                       ALIAS_nv_sm50_or_higher
Tesla_M60                                       ALIAS_nv_sm50_or_higher
Tesla_P4                                        ALIAS_nv_sm50_or_higher
Tesla_P40                                       ALIAS_nv_sm50_or_higher
Tesla_P100                                      ALIAS_nv_sm50_or_higher
Tesla_V100                                      ALIAS_nv_sm50_or_higher

Quadro_M2000                                    ALIAS_nv_sm50_or_higher
Quadro_M4000                                    ALIAS_nv_sm50_or_higher
Quadro_M5000                                    ALIAS_nv_sm50_or_higher
Quadro_M6000                                    ALIAS_nv_sm50_or_higher

TITAN_X                                         ALIAS_nv_sm50_or_higher
TITAN_Xp                                        ALIAS_nv_sm50_or_higher
TITAN_V                                         ALIAS_nv_sm50_or_higher
TITAN_RTX                                       ALIAS_nv_sm50_or_higher

Tegra_X1                                        ALIAS_nv_sm50_or_higher

GeForce_910M                                    ALIAS_nv_sm50_or_higher
GeForce_920M                                    ALIAS_nv_sm50_or_higher
GeForce_920MX                                   ALIAS_nv_sm50_or_higher
GeForce_930M                                    ALIAS_nv_sm50_or_higher
GeForce_930MX                                   ALIAS_nv_sm50_or_higher
GeForce_940M                                    ALIAS_nv_sm50_or_higher
GeForce_940MX                                   ALIAS_nv_sm50_or_higher
GeForce_945M                                    ALIAS_nv_sm50_or_higher
GeForce_GT_945A                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_950                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_950M                                ALIAS_nv_sm50_or_higher
GeForce_GTX_960                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_960M                                ALIAS_nv_sm50_or_higher
GeForce_GTX_965M                                ALIAS_nv_sm50_or_higher
GeForce_GTX_970                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_970M                                ALIAS_nv_sm50_or_higher
GeForce_GTX_980                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_980M                                ALIAS_nv_sm50_or_higher
GeForce_GTX_980_Ti                              ALIAS_nv_sm50_or_higher

GeForce_GT_1030                                 ALIAS_nv_sm50_or_higher
GeForce_GTX_1050                                ALIAS_nv_sm50_or_higher
GeForce_GTX_1050_Ti                             ALIAS_nv_sm50_or_higher
GeForce_GTX_1060                                ALIAS_nv_sm50_or_higher
GeForce_GTX_1060_Ti                             ALIAS_nv_sm50_or_higher
GeForce_GTX_1070                                ALIAS_nv_sm50_or_higher
GeForce_GTX_1070_Ti                             ALIAS_nv_sm50_or_higher
GeForce_GTX_1080                                ALIAS_nv_sm50_or_higher
GeForce_GTX_1080_Ti                             ALIAS_nv_sm50_or_higher
GeForce_MX110                                   ALIAS_nv_sm50_or_higher
GeForce_MX130                                   ALIAS_nv_sm50_or_higher
GeForce_MX150                                   ALIAS_nv_sm50_or_higher

GeForce_GTX_1650                                ALIAS_nv_sm50_or_higher
GeForce_GTX_1650_SUPER                          ALIAS_nv_sm50_or_higher
GeForce_GTX_1650_Ti                             ALIAS_nv_sm50_or_higher
GeForce_GTX_1660                                ALIAS_nv_sm50_or_higher
GeForce_GTX_1660_SUPER                          ALIAS_nv_sm50_or_higher
GeForce_GTX_1660_Ti                             ALIAS_nv_sm50_or_higher

GeForce_RTX_2060                                ALIAS_nv_sm50_or_higher
GeForce_RTX_2060_SUPER                          ALIAS_nv_sm50_or_higher
GeForce_RTX_2070                                ALIAS_nv_sm50_or_higher
GeForce_RTX_2070_SUPER                          ALIAS_nv_sm50_or_higher
GeForce_RTX_2080                                ALIAS_nv_sm50_or_higher
GeForce_RTX_2080_SUPER                          ALIAS_nv_sm50_or_higher
GeForce_RTX_2080_Ti                             ALIAS_nv_sm50_or_higher

GeForce_RTX_3050                                ALIAS_nv_sm50_or_higher
GeForce_RTX_3050_Ti                             ALIAS_nv_sm50_or_higher
GeForce_RTX_3060                                ALIAS_nv_sm50_or_higher
GeForce_RTX_3060_Ti                             ALIAS_nv_sm50_or_higher
GeForce_RTX_3070                                ALIAS_nv_sm50_or_higher
GeForce_RTX_3070_Ti                             ALIAS_nv_sm50_or_higher
GeForce_RTX_3080                                ALIAS_nv_sm50_or_higher
GeForce_RTX_3080_Ti                             ALIAS_nv_sm50_or_higher
GeForce_RTX_3090                                ALIAS_nv_sm50_or_higher
GeForce_RTX_3090_Ti                             ALIAS_nv_sm50_or_higher

##
## Unmapped GPU
##

Radeon_(TM)_RX_480_Graphics                     ALIAS_AMD_RX480

gfx900                                          ALIAS_AMD_Vega64
gfx900:xnack-                                   ALIAS_AMD_Vega64
Vega_10_XL/XT_[Radeon_RX_Vega_56/64]            ALIAS_AMD_Vega64
Radeon_Vega_64                                  ALIAS_AMD_Vega64
Radeon_RX_Vega                                  ALIAS_AMD_Vega64

Device_738c                                     ALIAS_AMD_MI100
gfx908                                          ALIAS_AMD_MI100
gfx908:sramecc+:xnack-                          ALIAS_AMD_MI100

Device_73bf                                     ALIAS_AMD_RX6900XT
gfx1030                                         ALIAS_AMD_RX6900XT
Radeon_RX_6900_XT                               ALIAS_AMD_RX6900XT

#############
## ENTRIES ##
#############

DEVICE_TYPE_CPU                                 *       6100    1       A       A
DEVICE_TYPE_CPU                                 *       6231    1       A       A
DEVICE_TYPE_CPU                                 *       6232    1       A       A
DEVICE_TYPE_CPU                                 *       6233    1       A       A
DEVICE_TYPE_CPU                                 *       13731   1       A       A
DEVICE_TYPE_CPU                                 *       13732   1       A       A
DEVICE_TYPE_CPU                                 *       13733   1       A       A

#Device                                         Attack  Hash    Vector  Kernel  Kernel
#Name                                           Mode    Type    Width   Accel   Loops

ALIAS_nv_real_simd                              3       0       2       A       A
ALIAS_nv_real_simd                              3       10      2       A       A
ALIAS_nv_real_simd                              3       11      2       A       A
ALIAS_nv_real_simd                              3       12      2       A       A
ALIAS_nv_real_simd                              3       20      2       A       A
ALIAS_nv_real_simd                              3       21      2       A       A
ALIAS_nv_real_simd                              3       22      2       A       A
ALIAS_nv_real_simd                              3       23      2       A       A
ALIAS_nv_real_simd                              3       200     2       A       A
ALIAS_nv_real_simd                              3       400     2       A       A
ALIAS_nv_real_simd                              3       900     4       A       A
ALIAS_nv_real_simd                              3       1000    4       A       A
ALIAS_nv_real_simd                              3       1100    4       A       A
ALIAS_nv_real_simd                              3       2400    2       A       A
ALIAS_nv_real_simd                              3       2410    2       A       A
ALIAS_nv_real_simd                              3       2600    4       A       A
ALIAS_nv_real_simd                              3       2611    4       A       A
ALIAS_nv_real_simd                              3       2612    4       A       A
ALIAS_nv_real_simd                              3       2711    4       A       A
ALIAS_nv_real_simd                              3       2811    4       A       A
ALIAS_nv_real_simd                              3       3711    2       A       A
ALIAS_nv_real_simd                              3       5100    2       A       A
ALIAS_nv_real_simd                              3       5300    2       A       A
ALIAS_nv_real_simd                              3       5500    4       A       A
ALIAS_nv_real_simd                              3       5600    2       A       A
ALIAS_nv_real_simd                              3       8700    4       A       A
ALIAS_nv_real_simd                              3       9900    2       A       A
ALIAS_nv_real_simd                              3       11000   4       A       A
ALIAS_nv_real_simd                              3       11100   2       A       A
ALIAS_nv_real_simd                              3       11900   2       A       A
ALIAS_nv_real_simd                              3       13300   4       A       A
ALIAS_nv_real_simd                              3       18700   8       A       A

ALIAS_nv_sm50_or_higher                         3       0       8       A       A
ALIAS_nv_sm50_or_higher                         3       10      8       A       A
ALIAS_nv_sm50_or_higher                         3       11      8       A       A
ALIAS_nv_sm50_or_higher                         3       12      8       A       A
ALIAS_nv_sm50_or_higher                         3       20      4       A       A
ALIAS_nv_sm50_or_higher                         3       21      4       A       A
ALIAS_nv_sm50_or_higher                         3       22      4       A       A
ALIAS_nv_sm50_or_higher                         3       23      4       A       A
ALIAS_nv_sm50_or_higher                         3       30      4       A       A
ALIAS_nv_sm50_or_higher                         3       40      4       A       A
ALIAS_nv_sm50_or_higher                         3       200     8       A       A
ALIAS_nv_sm50_or_higher                         3       900     8       A       A
ALIAS_nv_sm50_or_higher                         3       1000    8       A       A
ALIAS_nv_sm50_or_higher                         3       1100    4       A       A
ALIAS_nv_sm50_or_higher                         3       2400    8       A       A
ALIAS_nv_sm50_or_higher                         3       2410    4       A       A
ALIAS_nv_sm50_or_higher                         3       3800    4       A       A
ALIAS_nv_sm50_or_higher                         3       4800    8       A       A
ALIAS_nv_sm50_or_higher                         3       5500    2       A       A
ALIAS_nv_sm50_or_higher                         3       9900    4       A       A
ALIAS_nv_sm50_or_higher                         3       16400   8       A       A
ALIAS_nv_sm50_or_higher                         3       18700   8       A       A

##
## The following cards were manually tuned, as example
##

GeForce_GTX_TITAN                               3       0       4       A       A
GeForce_GTX_TITAN                               3       11      4       A       A
GeForce_GTX_TITAN                               3       12      4       A       A
GeForce_GTX_TITAN                               3       21      1       A       A
GeForce_GTX_TITAN                               3       22      1       A       A
GeForce_GTX_TITAN                               3       23      1       A       A
GeForce_GTX_TITAN                               3       30      4       A       A
GeForce_GTX_TITAN                               3       200     2       A       A
GeForce_GTX_TITAN                               3       900     4       A       A
GeForce_GTX_TITAN                               3       1000    4       A       A
GeForce_GTX_TITAN                               3       1100    4       A       A
GeForce_GTX_TITAN                               3       2400    4       A       A
GeForce_GTX_TITAN                               3       2410    2       A       A
GeForce_GTX_TITAN                               3       5500    1       A       A
GeForce_GTX_TITAN                               3       9900    2       A       A

##
## BCRYPT
##

DEVICE_TYPE_CPU                                 *       3200    1       N       A
DEVICE_TYPE_CPU                                 *      25600    1       N       A
DEVICE_TYPE_CPU                                 *      25800    1       N       A

##
## SCRYPT: Tunings for SCRYPT based hash-modes can be found inside the plugin source
##         See function module_extra_tuningdb_block()
##

##
## CryptoAPI
##

DEVICE_TYPE_CPU                                 *       14500   1       A       A
DEVICE_TYPE_GPU                                 *       14500   1       A       A