Add LOCAL_VK to make use of __shared__

This commit is contained in:
Jens Steube
2019-05-07 09:01:32 +02:00
parent bbed0cd67a
commit 8ff8c5d536
306 changed files with 1881 additions and 1841 deletions
+27
View File
@@ -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;
+11 -1
View File
@@ -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)