Add LOCAL_VK to make use of __shared__
This commit is contained in:
@@ -3090,6 +3090,31 @@ int run_kernel (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, con
|
||||
|
||||
if (device_param->is_cuda == true)
|
||||
{
|
||||
u64 local_mem_size = 0;
|
||||
|
||||
switch (kern_run)
|
||||
{
|
||||
case KERN_RUN_1: local_mem_size = device_param->kernel_local_mem_size1; break;
|
||||
case KERN_RUN_12: local_mem_size = device_param->kernel_local_mem_size12; break;
|
||||
case KERN_RUN_2: local_mem_size = device_param->kernel_local_mem_size2; break;
|
||||
case KERN_RUN_23: local_mem_size = device_param->kernel_local_mem_size23; break;
|
||||
case KERN_RUN_3: local_mem_size = device_param->kernel_local_mem_size3; break;
|
||||
case KERN_RUN_4: local_mem_size = device_param->kernel_local_mem_size4; break;
|
||||
case KERN_RUN_INIT2: local_mem_size = device_param->kernel_local_mem_size_init2; break;
|
||||
case KERN_RUN_LOOP2: local_mem_size = device_param->kernel_local_mem_size_loop2; break;
|
||||
case KERN_RUN_AUX1: local_mem_size = device_param->kernel_local_mem_size_aux1; break;
|
||||
case KERN_RUN_AUX2: local_mem_size = device_param->kernel_local_mem_size_aux2; break;
|
||||
case KERN_RUN_AUX3: local_mem_size = device_param->kernel_local_mem_size_aux3; break;
|
||||
case KERN_RUN_AUX4: local_mem_size = device_param->kernel_local_mem_size_aux4; break;
|
||||
}
|
||||
|
||||
if (local_mem_size)
|
||||
{
|
||||
const u32 max_threads_possible = (device_param->device_local_mem_size - 240) / local_mem_size;
|
||||
|
||||
kernel_threads = MIN (kernel_threads, max_threads_possible);
|
||||
}
|
||||
|
||||
CUfunction cuda_function = NULL;
|
||||
|
||||
if (device_param->is_cuda == true)
|
||||
@@ -5294,6 +5319,8 @@ int backend_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
|
||||
device_param->skipped = true;
|
||||
}
|
||||
|
||||
device_param->device_local_mem_size = max_shared_memory_per_block;
|
||||
|
||||
// device_max_constant_buffer_size
|
||||
|
||||
int device_max_constant_buffer_size = 0;
|
||||
|
||||
@@ -104,7 +104,17 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY
|
||||
// I did some research on this and it seems to be related with the datatype.
|
||||
// For example, if i used u8 instead, there's only 1 byte wasted.
|
||||
|
||||
overhead = 4;
|
||||
if (device_param->is_opencl == true)
|
||||
{
|
||||
overhead = 4;
|
||||
}
|
||||
|
||||
// no clue yet where this is coming from
|
||||
|
||||
if (device_param->is_cuda == true)
|
||||
{
|
||||
overhead = 240;
|
||||
}
|
||||
}
|
||||
|
||||
if (user_options->kernel_threads_chgd == true)
|
||||
|
||||
Reference in New Issue
Block a user