# 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-Loops can have 'A', where 'A' stands for autotune

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

#Device                                         Alias
#Name                                           Name

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

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

NVIDIA_NVS_310                                  ALIAS_nv_use_simd
NVIDIA_NVS_315                                  ALIAS_nv_use_simd
NVIDIA_NVS_510                                  ALIAS_nv_use_simd
NVS_310                                         ALIAS_nv_use_simd
NVS_315                                         ALIAS_nv_use_simd
NVS_4200M                                       ALIAS_nv_use_simd
NVS_510                                         ALIAS_nv_use_simd
NVS_5200M                                       ALIAS_nv_use_simd
NVS_5400M                                       ALIAS_nv_use_simd

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

##
## Maxwell sm_50 cards
##

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

NVIDIA_NVS_810                                  ALIAS_nv_sm50

GeForce_830M                                    ALIAS_nv_sm50
GeForce_830M                                    ALIAS_nv_sm50
GeForce_840M                                    ALIAS_nv_sm50
GeForce_840M                                    ALIAS_nv_sm50
GeForce_930M                                    ALIAS_nv_sm50
GeForce_940M                                    ALIAS_nv_sm50
GeForce_GTX_750                                 ALIAS_nv_sm50
GeForce_GTX_750_Ti                              ALIAS_nv_sm50
GeForce_GTX_850M                                ALIAS_nv_sm50
GeForce_GTX_930M                                ALIAS_nv_sm50
GeForce_GTX_940M                                ALIAS_nv_sm50
GeForce_GTX_950M                                ALIAS_nv_sm50
GeForce_GTX_960M                                ALIAS_nv_sm50

##
## Maxwell sm_52 cards or higher
##

Tesla_M40                                       ALIAS_nv_sm52_or_higher

Quadro_M2000                                    ALIAS_nv_sm52_or_higher
Quadro_M4000                                    ALIAS_nv_sm52_or_higher
Quadro_M5000                                    ALIAS_nv_sm52_or_higher
Quadro_M6000_24GB                               ALIAS_nv_sm52_or_higher
Quadro_M6000                                    ALIAS_nv_sm52_or_higher

GeForce_GTX_950                                 ALIAS_nv_sm52_or_higher
GeForce_GTX_960                                 ALIAS_nv_sm52_or_higher
GeForce_GTX_970                                 ALIAS_nv_sm52_or_higher
GeForce_GTX_980                                 ALIAS_nv_sm52_or_higher
GeForce_GTX_980_Ti                              ALIAS_nv_sm52_or_higher
GeForce_GTX_TITAN_X                             ALIAS_nv_sm52_or_higher
GeForce_GTX_1080                                ALIAS_nv_sm52_or_higher
Graphics_Device                                 ALIAS_nv_sm52_or_higher
# ^ We need to remove this as soon as it gets a real device name :)

GeForce_910M                                    ALIAS_nv_sm52_or_higher
GeForce_GTX_910M                                ALIAS_nv_sm52_or_higher
GeForce_GTX_965M                                ALIAS_nv_sm52_or_higher
GeForce_GTX_970M                                ALIAS_nv_sm52_or_higher
GeForce_GTX_980M                                ALIAS_nv_sm52_or_higher

Tegra_X1                                        ALIAS_nv_sm52_or_higher

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

DEVICE_TYPE_CPU                                 *       *       N       A       A
DEVICE_TYPE_CPU                                 *       6100    1       A       A
DEVICE_TYPE_CPU                                 *       6900    1       A       A

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

ALIAS_nv_use_simd                               *       0       2       A       A
ALIAS_nv_use_simd                               *       10      2       A       A
ALIAS_nv_use_simd                               *       11      2       A       A
ALIAS_nv_use_simd                               *       12      2       A       A
ALIAS_nv_use_simd                               *       20      2       A       A
ALIAS_nv_use_simd                               *       21      2       A       A
ALIAS_nv_use_simd                               *       22      2       A       A
ALIAS_nv_use_simd                               *       23      2       A       A
ALIAS_nv_use_simd                               *       100     4       A       A
ALIAS_nv_use_simd                               *       110     4       A       A
ALIAS_nv_use_simd                               *       111     4       A       A
ALIAS_nv_use_simd                               *       112     4       A       A
ALIAS_nv_use_simd                               *       130     4       A       A
ALIAS_nv_use_simd                               *       131     4       A       A
ALIAS_nv_use_simd                               *       132     4       A       A
ALIAS_nv_use_simd                               *       133     4       A       A
ALIAS_nv_use_simd                               *       200     2       A       A
ALIAS_nv_use_simd                               *       400     2       A       A
ALIAS_nv_use_simd                               *       900     4       A       A
ALIAS_nv_use_simd                               *       1000    4       A       A
ALIAS_nv_use_simd                               *       1100    4       A       A
ALIAS_nv_use_simd                               *       2400    2       A       A
ALIAS_nv_use_simd                               *       2410    2       A       A
ALIAS_nv_use_simd                               *       2600    4       A       A
ALIAS_nv_use_simd                               *       2611    4       A       A
ALIAS_nv_use_simd                               *       2612    4       A       A
ALIAS_nv_use_simd                               *       2711    4       A       A
ALIAS_nv_use_simd                               *       2811    4       A       A
ALIAS_nv_use_simd                               *       3711    2       A       A
ALIAS_nv_use_simd                               *       5100    2       A       A
ALIAS_nv_use_simd                               *       5300    2       A       A
ALIAS_nv_use_simd                               *       5500    4       A       A
ALIAS_nv_use_simd                               *       5600    2       A       A
ALIAS_nv_use_simd                               *       8700    4       A       A
ALIAS_nv_use_simd                               *       9900    2       A       A
ALIAS_nv_use_simd                               *       11000   4       A       A
ALIAS_nv_use_simd                               *       11100   2       A       A
ALIAS_nv_use_simd                               *       11900   2       A       A
ALIAS_nv_use_simd                               *       13300   4       A       A

ALIAS_nv_sm50                                   *       0       4       A       A
ALIAS_nv_sm50                                   *       10      4       A       A
ALIAS_nv_sm50                                   *       11      4       A       A
ALIAS_nv_sm50                                   *       12      4       A       A
ALIAS_nv_sm50                                   *       20      2       A       A
ALIAS_nv_sm50                                   *       21      2       A       A
ALIAS_nv_sm50                                   *       22      2       A       A
ALIAS_nv_sm50                                   *       23      2       A       A
ALIAS_nv_sm50                                   *       30      4       A       A
ALIAS_nv_sm50                                   *       40      2       A       A
ALIAS_nv_sm50                                   *       200     4       A       A
ALIAS_nv_sm50                                   *       400     2       A       A
ALIAS_nv_sm50                                   *       900     4       A       A
ALIAS_nv_sm50                                   *       1000    4       A       A
ALIAS_nv_sm50                                   *       1100    4       A       A
ALIAS_nv_sm50                                   *       2400    2       A       A
ALIAS_nv_sm50                                   *       2410    4       A       A
ALIAS_nv_sm50                                   *       2600    2       A       A
ALIAS_nv_sm50                                   *       2611    2       A       A
ALIAS_nv_sm50                                   *       2612    2       A       A
ALIAS_nv_sm50                                   *       2711    2       A       A
ALIAS_nv_sm50                                   *       2811    2       A       A
ALIAS_nv_sm50                                   *       3711    2       A       A
ALIAS_nv_sm50                                   *       5100    2       A       A
ALIAS_nv_sm50                                   *       5300    4       A       A
ALIAS_nv_sm50                                   *       5500    2       A       A
ALIAS_nv_sm50                                   *       5600    4       A       A
ALIAS_nv_sm50                                   *       6500    2       A       A
ALIAS_nv_sm50                                   *       6900    2       A       A
ALIAS_nv_sm50                                   *       8600    2       A       A
ALIAS_nv_sm50                                   *       9900    4       A       A
ALIAS_nv_sm50                                   *       10100   2       A       A
ALIAS_nv_sm50                                   *       11000   2       A       A
ALIAS_nv_sm50                                   *       11100   2       A       A
ALIAS_nv_sm50                                   *       11900   2       A       A

ALIAS_nv_sm52_or_higher                         *       0       4       A       A
ALIAS_nv_sm52_or_higher                         *       10      4       A       A
ALIAS_nv_sm52_or_higher                         *       11      4       A       A
ALIAS_nv_sm52_or_higher                         *       12      4       A       A
ALIAS_nv_sm52_or_higher                         *       30      4       A       A
ALIAS_nv_sm52_or_higher                         *       200     4       A       A
ALIAS_nv_sm52_or_higher                         *       900     4       A       A
ALIAS_nv_sm52_or_higher                         *       1000    2       A       A
ALIAS_nv_sm52_or_higher                         *       1100    4       A       A
ALIAS_nv_sm52_or_higher                         *       2400    2       A       A
ALIAS_nv_sm52_or_higher                         *       2410    4       A       A
ALIAS_nv_sm52_or_higher                         *       2711    2       A       A
ALIAS_nv_sm52_or_higher                         *       3711    2       A       A
ALIAS_nv_sm52_or_higher                         *       5100    2       A       A
ALIAS_nv_sm52_or_higher                         *       8000    2       A       A
ALIAS_nv_sm52_or_higher                         *       9900    4       A       A
ALIAS_nv_sm52_or_higher                         *       10100   2       A       A
ALIAS_nv_sm52_or_higher                         *       11000   2       A       A
ALIAS_nv_sm52_or_higher                         *       11100   2       A       A

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

GeForce_GTX_TITAN                               *       0       4       A       A
GeForce_GTX_TITAN                               *       11      4       A       A
GeForce_GTX_TITAN                               *       12      4       A       A
GeForce_GTX_TITAN                               *       21      1       A       A
GeForce_GTX_TITAN                               *       22      1       A       A
GeForce_GTX_TITAN                               *       23      1       A       A
GeForce_GTX_TITAN                               *       30      4       A       A
GeForce_GTX_TITAN                               *       200     2       A       A
GeForce_GTX_TITAN                               *       400     1       A       A
GeForce_GTX_TITAN                               *       900     4       A       A
GeForce_GTX_TITAN                               *       1000    4       A       A
GeForce_GTX_TITAN                               *       1100    4       A       A
GeForce_GTX_TITAN                               *       2400    4       A       A
GeForce_GTX_TITAN                               *       2410    2       A       A
GeForce_GTX_TITAN                               *       2600    2       A       A
GeForce_GTX_TITAN                               *       2611    2       A       A
GeForce_GTX_TITAN                               *       2612    2       A       A
GeForce_GTX_TITAN                               *       2711    2       A       A
GeForce_GTX_TITAN                               *       2811    2       A       A
GeForce_GTX_TITAN                               *       3711    1       A       A
GeForce_GTX_TITAN                               *       5100    2       A       A
GeForce_GTX_TITAN                               *       5500    1       A       A
GeForce_GTX_TITAN                               *       9900    2       A       A
GeForce_GTX_TITAN                               *       10100   2       A       A
GeForce_GTX_TITAN                               *       11000   2       A       A
GeForce_GTX_TITAN                               *       11100   2       A       A

Iris                                            *       *       1       A       2
Iris                                            *       400     1       A       256
Iris                                            *       500     1       8       256
Iris                                            *       501     1       8       256
Iris                                            *       1500    1       A       256
Iris                                            *       1600    1       8       256
Iris                                            *       1800    1       1       16
Iris                                            *       2100    1       8       256
Iris                                            *       2500    1       2       256
Iris                                            *       3000    1       A       256
Iris                                            *       5200    1       8       256
Iris                                            *       5800    1       8       256
Iris                                            *       6211    1       8       200
Iris                                            *       6212    1       8       200
Iris                                            *       6213    1       8       200
Iris                                            *       6221    1       4       200
Iris                                            *       6222    1       4       200
Iris                                            *       6223    1       4       200
Iris                                            *       6231    1       1       16
Iris                                            *       6232    1       4       200
Iris                                            *       6233    1       4       200
Iris                                            *       6241    1       4       200
Iris                                            *       6242    1       4       200
Iris                                            *       6243    1       4       200
Iris                                            *       6300    1       8       256
Iris                                            *       6400    1       8       256
Iris                                            *       6500    1       8       256
Iris                                            *       6600    1       8       200
Iris                                            *       6700    1       8       256
Iris                                            *       6800    1       2       200
Iris                                            *       7100    1       1       256
Iris                                            *       7200    1       1       200
Iris                                            *       7400    1       2       200
Iris                                            *       7900    1       1       256
Iris                                            *       8800    1       8       256
Iris                                            *       8900    1       1       1
Iris                                            *       9000    1       2       16
Iris                                            *       9100    1       4       256
Iris                                            *       9200    1       1       200
Iris                                            *       9300    1       1       1
Iris                                            *       9400    1       1       200
Iris                                            *       9500    1       1       200
Iris                                            *       9600    1       1       200
Iris                                            *       10000   1       1       200
Iris                                            *       10300   1       8       128
Iris                                            *       10500   1       4       64
Iris                                            *       10900   1       2       200
Iris                                            *       11300   1       1       1
Iris                                            *       11600   1       1       512
Iris                                            *       11900   1       2       200
Iris                                            *       12000   1       2       200
Iris                                            *       12100   1       2       200
Iris                                            *       12200   1       1       256
Iris                                            *       12300   1       2       256
Iris                                            *       12400   1       1       256
Iris                                            *       12500   1       1       256
Iris                                            *       12700   1       64      10
Iris                                            *       12800   1       64      100
Iris                                            *       12900   1       8       64
Iris                                            *       13000   1       1       64