|
Message-ID: <CAAepdCZ6xGu4V+=maxK6KJt-iEo8CBrmYbchZwAGbZgectvgRA@mail.gmail.com>
Date: Fri, 26 Jul 2013 01:45:12 +0100
From: Rafael Waldo Delgado Doblas <lord.rafa@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: Rafael's weekly report #6
Hello,
2013/7/26 Solar Designer <solar@...nwall.com>
>
>
> Please post these separately, not as "replies" to the thread that
> started with your weekly report. Please use message Subject of
> "Parallella: Litecoin mining", so that it'd be easy for Yaniv to spot
> these messages and comment where relevant.
I will do that with the next.
Does this mean that you have a cut-down cgminer tree now, which you'll
> use as a base for your development on Parallella? Did you have to
> produce such a tree? Couldn't you simply build the existing cgminer
> (the last CPU-enabled version) on Parallella (on ARM for now)? Did you
> make those changes to speedup test builds, expecting that you'd need to
> do many of those?
I did that in order to get a better knowledge about how cgminer works. Also
I did it to find why scrypt support can't be compiled without OpenGL even
if there a CPU version of the Algorithm. Finally I did a couple of
modifications to allow it. Since CGMiner uses automake is not that much
useful cut-down CGMiner only to get a speed up compilation but was easier
for me focus in what is relevant for my task. I will merge again this
cut-down version with the full version when I finish the implementation.
Thanks to this now I know that on the file driver-cpu.c there is this
struct:
struct device_api cpu_api = {
.dname = "cpu",
.name = "CPU",
.api_detect = cpu_detect,
.reinit_device = reinit_cpu_device,
.thread_prepare = cpu_thread_prepare,
.can_limit_work = cpu_can_limit_work,
.thread_init = cpu_thread_init,
.scanhash = cpu_scanhash,
};
This struct is the door between the driver and the rest of cgminer, and is
present in each driver.
The functions:
.api_detect = cpu_detect, // Detect how many cpus there in the system,
16 in Epiphany
.reinit_device = reinit_cpu_device,
.thread_prepare = cpu_thread_prepare, // Will load a scrypt on a
Epiphany core.
.can_limit_work = cpu_can_limit_work, // I think that this function can
be safely removed.
.thread_init = cpu_thread_init, // Will start Epiphany core.
Will work on Parallella host, they are the functions that will prepare
Parallella Ephipany to work.
And this function:
.scanhash = cpu_scanhash,
Will be executed in Parallella Ephipany and return a hash to Parallella
Host.
> Priorities:
> > 1. Get a detailed decryption of Scrypt.c. (I have sent a mail to
> cKolivas).
> > 2. Move Scrypt.c to Epiphany.
> > 3. Get one instance of Scrypt runing on one Ephipany core.
> > 3. Expand to the rest of cores.
>
> OK, but what are you referring to by Scrypt.c? There's no file by that
> name in cgminer tree; the closest match is scrypt.c (with lowercase "s").
>
yes I mean scrypt.c
> What questions did you have for Con Kolivas?
>
I ask about the functions scrypt_outputhash and scanhash_scrypt I need info
about the description, parameters and return value. The rest of the
functions looks like the scrypt implementation.
Alexander
>
Rafael.
Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.