Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 9 Jul 2013 09:26:03 +0200
From: Lukas Odzioba <lukas.odzioba@...il.com>
To: john-dev@...ts.openwall.com
Subject: LWS/GWS setup best practice

magnum, Claudio:
1) Where I can find current best practice in implementing LWS/GWS
setup and gpu buffers management?
I looked at some files but and there are many versions of that.


2) In common-opencl.h we have 4 versions of opencl_init:

void opencl_init_dev(unsigned int sequential_id);
void opencl_init(char *kernel_filename, unsigned int sequential_id);
void opencl_init_opt(char *kernel_filename, unsigned int
sequential_id, char *options);
void opencl_init_auto_setup(
        int p_default_value, int p_hash_loops, int p_number_of_events,
	int * p_split_events, const char ** p_warnings,
	cl_event * p_to_profile_event, struct fmt_main * p_self,
	void (*p_create_clobj)(int gws, struct fmt_main * self),
	void (*p_release_clobj)(void), int p_buffer_size, size_t p_gws_limit);


The top 3:
void opencl_init_dev(unsigned int sequential_id)
{
	profilingEvent = firstEvent = lastEvent = NULL;
	dev_init(sequential_id);
}

void opencl_init_opt(char *kernel_filename, unsigned int
sequential_id, char *opts)
{
	kernel_loaded=0;
	opencl_init_dev(sequential_id);
	opencl_build_kernel_save(kernel_filename, sequential_id, opts, 1, 0);
}

void opencl_init(char *kernel_filename, unsigned int sequential_id)
{
	opencl_init_opt(kernel_filename, sequential_id, NULL);
}

could be merged into sth like:
void opencl_init_opt(char *kernel_filename, unsigned int
sequential_id, char *opts){
	profilingEvent = firstEvent = lastEvent = NULL;
	dev_init(sequential_id);
	if(!kernel_filename){
		kernel_loaded=0;
		opencl_build_kernel_save(kernel_filename, sequential_id, opts, 1, 0);
	}
}

Lukas

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ