Skip to content

Commit

Permalink
Improvement: more aggressive defaults on Nvidia.
Browse files Browse the repository at this point in the history
  • Loading branch information
Claudio André authored and magnumripper committed Jun 29, 2012
1 parent d5d5dfe commit 95fbde1
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions src/opencl_cryptsha512_fmt.c
Expand Up @@ -85,7 +85,7 @@ unsigned int get_task_max_size(){
return max_available * KEYS_PER_CORE_GPU;
}

size_t get_default_workgroup(){
size_t get_safe_workgroup(){

if (cpu(device_info[gpu_id]))
return 1;
Expand All @@ -94,6 +94,18 @@ size_t get_default_workgroup(){
return 32;
}

size_t get_default_workgroup(){
unsigned int max_available;
max_available = get_task_max_work_group_size();

if (gpu_nvidia(device_info[gpu_id])) {
global_work_size = (global_work_size / max_available) * max_available; //Find a multiple.
return max_available;

} else
return get_safe_workgroup();
}

/* ------- Create and destroy necessary objects ------- */
static void create_clobj(int gws) {
pinned_saved_keys = clCreateBuffer(context[gpu_id],
Expand Down Expand Up @@ -287,7 +299,7 @@ static void find_best_workgroup(void) {
plaintext, 0, NULL, NULL),
"Failed in clEnqueueWriteBuffer II");

my_work_group = get_default_workgroup();
my_work_group = get_safe_workgroup();

// Find minimum time
for (; (int) my_work_group <= (int) max_group_size;
Expand Down Expand Up @@ -483,13 +495,13 @@ static void init(struct fmt_main *pFmt) {
printf("Elapsed time: %lu seconds\n", runtime);
fflush(stdout);

global_work_size = get_task_max_size();
local_work_size = get_default_workgroup();

// create kernel to execute
crypt_kernel = clCreateKernel(program[gpu_id], "kernel_crypt", &ret_code);
HANDLE_CLERROR(ret_code, "Error creating kernel. Double-check kernel name?");

global_work_size = get_task_max_size();
local_work_size = get_default_workgroup();

if ((tmp_value = cfg_get_param(SECTION_OPTIONS,
SUBSECTION_OPENCL, LWS_CONFIG)))
local_work_size = atoi(tmp_value);
Expand Down

0 comments on commit 95fbde1

Please sign in to comment.