|
Message-ID: <CAAepdCbnWanK_u7LbiPcuMqjgkOrGNLsVtvsbXUobRiVTOJdGw@mail.gmail.com> Date: Mon, 23 Sep 2013 13:00:41 +0200 From: Rafael Waldo Delgado Doblas <lord.rafa@...il.com> To: john-dev@...ts.openwall.com Subject: Re: Rafael's weekly report #14 Hello Alexander, 2013/9/21 Solar Designer <solar@...nwall.com> > Rafael, > > On Wed, Sep 18, 2013 at 10:28:16PM +0200, Rafael Waldo Delgado Doblas > wrote: > > As I couldn't debug the asm code I cleaned a little bit the code and I > > added a user friendly way to compile the code. > > I took a look at your committed code as of a few hours ago, and tried > building and running it (the C code only for now, as I take it the asm > is in a non-working state anyway). Here are some observations, in > arbitrary order: > > 1. EPIPHANY-README is the right kind of documentation, thank you! > A minor correction: s/SUDO -E/sudo -E/ as otherwise it is unclear that > you're referring to the uppercase "-E". Also, maybe wrap the lines at > 79 chars, as some other documentation files in cgminer appear to do > (albeit not consistently). > I will do it. > 3. Somehow the performance is a lot worse than it used to be. With a > default build, I got only around 300 h/s; we used to have ~1300 h/s. > What is causing this slowdown (some compiler flags set for debugging? > some code change?) and can you please correct it? > Mmm, I checked it and it worked fine to me. Are you compiling with the flag EPIPHANY_DEBUG? This flag drains a lot of performance because it compute scrypt with ARM even if you don't use the option -D. I could add a conditional to avoid compute scrypt with ARM if option -D it's not present but as this code it's only for debug Epiphany code, I decided don't do it. > 4. I think epiphany-salsa208.S could nicely stay with the underscore > between 20 and 8, or did this somehow not work? > Ok I will do it, I renamed this file because anyother uses underscores but I think that this looks better with the underscore. > 5. You're still not using any macros in the .S file. Do you have some > non-committed version that does use macros (but is buggy, as you > mentioned)? Is the committed asm code supposed to be in a working > state, then (but is just slow)? > Yes it is. As GSoC it's about to finish I commited a working version but I have another one with macros but still buggy. 6. Your reintroduced C code for salsa20_8() is no longer indented. > Please correct that. > Wops, I will do it. > > Today I'm going to debug the asm > > Any luck with that? It's been another 3 days. From the amount of time > this is supposedly taking you, it feels like you're approaching this asm > problem in some weird way. When I asked you what the purpose of your > non-macro-using asm code was, you said that it was a starting point for > further work on the asm code - if so, you should be able to convert it > to use of macros step-by-step, with testing after every step, and then > it'd be fairly easy for you to spot the occasional errors that you'll be > making (not a lot of code changes to review for each error). > Personally, I think you'd do it even quicker by starting with extensive > use of macros instead of the fully expanded version you wrote, but since > you already have it anyway, you may as well use it to simplify your work > on the macros. > > After you're using macros to the maximum reasonable extent, sacrificing > performance even, it should similarly not be too difficult for you to > start moving to larger macros step-by-step, only as needed for better > instruction scheduling. You'd similarly test after making each change, > so that you don't have a lot of changes to review for any errors > whenever the changed code fails test. > > Can you describe your approach? > Well I have grouped the R calls by displacement in 4 macros. In order to compute the columns and rows with the same macro I use a function that exchange the registers. > > > El 17/09/2013 02:31, "Rafael Waldo Delgado Doblas" <lord.rafa@...il.com> > > escribi?: > > > Problems: > > > 1. I couldn't find a way to compile cgminer with a-gcc and > epiphany-scypt > > > with e-gcc using autotools and only one call to autogen.sh and make. I > will > > > write a bash script to do it but would be nicer if someone can help me > with > > > this. > > I'm sorry we didn't get around to helping you on this sub-task. > I think it could be as simple as having some make rules pre-written in > Makefile.am, but I am not sure. I am not familiar with autotools. > It's ok, after I checked autotools doc, I couldn't see how to do it then maybe it's not possible. BTW, have you fixed your host side C code not to segfault when the > Epiphany code hasn't been compiled? Can you make it print a reasonable > error message, please? > Mmm, I have added this. Doesn't it worked? I will check it ASAP. strcpy(fullpath, cgminer_path); strcat(fullpath, "epiphany-scrypt.srec"); if (e_load_group(fullpath, dev, 0, 0, rows, cols, E_FALSE) == E_ERR) { applog(LOG_ERR, "Error: Could not load epiphany-scrypt.srec on Epiphany."); applog(LOG_ERR, " Is epiphany-scrypt.srec in cgminer directory?."); return false; } > > > 2. Implemented macros and instruction schedule in epiphany asm but I > have > > > some bugs to fix. > > When did you realize you had bugs to fix? Do you have a code version > with macros, but without instruction scheduling - as I had requested? > (I asked that you commit this one first, before instruction scheduling, > and only then add instruction scheduling with a separate commit.) > > > > Priorities: > > > 1. Debug asm. Hopefully tomorrow will be fixed. > > Was it? > Unfortunately no, I hadn't time due I had a job interview the last Friday and I needed to prepare it. I have attached the current buggy code. > > > 2. Implement a end user friendly script to compile cgminer. > > OK. Mostly done. > > > > 3. Move to the new task related with jumbo. > > Actually, I thought that this new task would be more of a "filler" for > when you're "idle" waiting for my feedback on your current main task, so > you would not exactly "move" to it after finishing the current task, but > rather you'd work on both. > > Anyhow, what's the current status on it? > Hello, I have implemented the interleaving of 2 and I copy get_hash* and binary_hash* functions from lotus5 (changing crypt_key[] array size). I have doubts about get_hash* and binary_hash* functions why are there 7 and what do they do?. Best regards, Rafa. Content of type "text/html" skipped Download attachment "epiphany-salsa20_8.S" of type "application/octet-stream" (3797 bytes)
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.