- Dropped all vector code since new GPU's are all scalar, makes the code much easier
- Some performance on low-end GPU may drop because of that, but only for a few hash-modes - Dropped scalar code (aka warp) since we do not have any vector datatypes anymore - Renamed C++ overloading functions memcat32_9 -> memcat_c32_w4x4_a3x4 - Still need to fix kernels to new function names, needs to be done manually - Temperature Management needs to be rewritten partially because of conflicting datatypes names - Added code to create different codepaths for NV on AMD in runtime in host (see data.vendor_id) - Added code to create different codepaths for NV on AMD in runtime in kernels (see IS_NV and IS_AMD) - First tests working for -m 0, for example - Great performance increases in general for NV so far - Tested amp_* and markov_* kernel - Migrated special NV optimizations for rule processor
This commit is contained in:
+7
-22
@@ -54,39 +54,26 @@
|
||||
#define hc_sleep(x) sleep ((x));
|
||||
#endif
|
||||
|
||||
#ifdef _CUDA
|
||||
#include <ext_cuda.h>
|
||||
#elif _OCL
|
||||
#include <ext_OpenCL.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* temperature management
|
||||
*/
|
||||
|
||||
#ifdef LINUX
|
||||
#ifdef _CUDA
|
||||
#include <ext_nvml.h>
|
||||
#elif _OCL
|
||||
#include <ext_ADL.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WIN
|
||||
#ifdef _CUDA
|
||||
#include <ext_nvapi.h>
|
||||
#elif _OCL
|
||||
#include <ext_ADL.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef OSX
|
||||
#ifdef _CUDA
|
||||
#include <ext_smi.h>
|
||||
#elif _OCL
|
||||
#include <ext_dummy.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* shared stuff
|
||||
@@ -97,11 +84,16 @@
|
||||
#define DEVICES_MAX 128
|
||||
|
||||
#define CL_PLATFORMS_MAX 16
|
||||
|
||||
#define CL_VENDOR_NV "NVIDIA Corporation"
|
||||
#define CL_VENDOR_AMD "Advanced Micro Devices, Inc."
|
||||
#define CL_VENDOR_SDS "Shiloh Distributed Solutions"
|
||||
#define CL_VENDOR_APPLE "Apple"
|
||||
|
||||
#define VENDOR_ID_AMD 4098
|
||||
#define VENDOR_ID_NV 4318
|
||||
#define VENDOR_ID_UNKNOWN 0
|
||||
|
||||
#define BLOCK_SIZE 64
|
||||
|
||||
#define CHARSIZ 0x100
|
||||
@@ -118,9 +110,6 @@
|
||||
|
||||
#define LOOPBACK_FILE "loopback"
|
||||
|
||||
#define VENDOR_ID_AMD 4098
|
||||
#define VENDOR_ID_NV 4318
|
||||
|
||||
/**
|
||||
* types
|
||||
*/
|
||||
@@ -1769,7 +1758,6 @@ extern hc_thread_mutex_t mux_display;
|
||||
#define OPTI_TYPE_SINGLE_HASH (1 << 11)
|
||||
#define OPTI_TYPE_SINGLE_SALT (1 << 12)
|
||||
#define OPTI_TYPE_BRUTE_FORCE (1 << 13)
|
||||
#define OPTI_TYPE_SCALAR_MODE (1 << 14)
|
||||
#define OPTI_TYPE_RAW_HASH (1 << 15)
|
||||
|
||||
#define OPTI_STR_ZERO_BYTE "Zero-Byte"
|
||||
@@ -1785,7 +1773,6 @@ extern hc_thread_mutex_t mux_display;
|
||||
#define OPTI_STR_SINGLE_HASH "Single-Hash"
|
||||
#define OPTI_STR_SINGLE_SALT "Single-Salt"
|
||||
#define OPTI_STR_BRUTE_FORCE "Brute-Force"
|
||||
#define OPTI_STR_SCALAR_MODE "Scalar-Mode"
|
||||
#define OPTI_STR_RAW_HASH "Raw-Hash"
|
||||
|
||||
/**
|
||||
@@ -2022,11 +2009,9 @@ void logfile_append (const char *fmt, ...);
|
||||
void fsync (int fd);
|
||||
#endif
|
||||
|
||||
#ifdef _CUDA
|
||||
/*
|
||||
int hm_get_adapter_index (HM_ADAPTER nvGPUHandle[DEVICES_MAX]);
|
||||
#endif
|
||||
|
||||
#ifdef _OCL
|
||||
int get_adapters_num (HM_LIB hm_dll, int *iNumberAdapters);
|
||||
|
||||
int hm_get_device_num (HM_LIB hm_dll, HM_ADAPTER hm_adapter_index, int *hm_device_num);
|
||||
@@ -2045,13 +2030,13 @@ int hm_check_fanspeed_control (HM_LIB hm_dll, hm_attrs_t *hm_device, uint32_t *v
|
||||
void hm_close (HM_LIB hm_dll);
|
||||
|
||||
HM_LIB hm_init ();
|
||||
#endif
|
||||
|
||||
int hm_get_temperature_with_device_id (const uint device_id);
|
||||
int hm_get_fanspeed_with_device_id (const uint device_id);
|
||||
int hm_get_utilization_with_device_id (const uint device_id);
|
||||
|
||||
int hm_set_fanspeed_with_device_id (const uint device_id, const int fanspeed);
|
||||
*/
|
||||
|
||||
void myabort ();
|
||||
void myquit ();
|
||||
|
||||
Reference in New Issue
Block a user