|
Message-ID: <CAJAsdNjGcvDy3=N=mx_i-S0DPj_aqp_aGFz3mmATW=MSa7rzAg@mail.gmail.com>
Date: Fri, 26 Apr 2013 01:41:30 +0200
From: Dániel Bali <balijanosdaniel@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: GPU support under Windows
Hello!
Thank you all for the answers. Sorry about using pastebin, it does make
sense to put the actual content here and this is what I will do from now
on.
Using -lOpenCL helped. Then I tested if my cygwin is capable of compiling
the AMD sample programs and fortunately it is.
However I get a new error that I am unable to fix. Here is the current
makefile rule:
win32-cygwin-x86-opencl:
$(CP) x86-any.h arch.h
@echo "#define JOHN_BLD" '"'$@'"' > john_build_rule.h
$(MAKE) $(PROJ_WIN32) \
JOHN_OBJS="$(JOHN_OBJS) $(OCL_OBJS) c3_fmt.o x86.o" \
CFLAGS="$(CFLAGS) -I'$(OCLROOT)/include' -DHAVE_CRYPT -DHAVE_OPENCL
-mpreferred-stack-boundary=2" \
CFLAGS_MAIN="$(CFLAGS) -O0" \
ASFLAGS="$(ASFLAGS) -DUNDERSCORES" \
LDFLAGS="$(LDFLAGS) -L'$(OCLROOT)/lib/x86' -lOpenCL "
$(MKDIR) ../run/kernels/
$(CP_PRESERVE) opencl/*.cl ../run/kernels/
$(CP_PRESERVE) opencl_*.h ../run/kernels/
@echo "Failing after this point just means some helper tools did not build:"
$(MAKE) $(PROJ_CXX)
# $(MAKE) $(PROJ_PCAP) -- TODO
@echo "All done"
The error I get is:
opencl_wpapsk_fmt.o:opencl_wpapsk_fmt.c:(.text+0x20ad): undefined
reference to `_alter_endianity'
So alter_endianity isn't defined. After looking at memory.h I found that
one of these flags are needed: MMX_COEF, NT_X86_64, MD5_SSE_PARA,
MD4_SSE_PARA. I tried to go for NT_X86_64 to see if it works with 64bit,
but in that case I get this new error:
/usr/lib/gcc/i686-pc-cygwin/4.5.3/include/emmintrin.h:32:3: error: #error
"SSE2 instruction set not enabled"
rawSHA512_ng_fmt.c: In function ‘crypt_all’:
rawSHA512_ng_fmt.c:347:9: error: ‘__m128i’ undeclared (first use in this
function)
(etc.)
This seems a harder error to solve and I'm unsure which of the above flags
should be defined, or "which way to take" here. Does anybody have a hint
about this, or should I investigate each possible way?
I believe enabling GPU support for Windows is a process that is going to
involve a lot of error tracking and I really don't want to bother you with
every step, so I would like to know if there is a part of the documentation
(or any resource) that would be of interest to me.
Thanks,
Daniel
2013/4/25 Solar Designer <solar@...nwall.com>
> Daniel,
>
> Thank you for posting this. While others will hopefully comment on the
> actual issue, let me point out a bikeshed: going forward, please don't
> use pastebin or the like. Instead, please include such excerpts of
> compiler output and your own changes to the code right in your messages,
> or in attached text files (if they're too large to be included inline,
> yet not too large to be posted - e.g., between 1 KB and 100 KB
> reasonably goes into an attachment). This will save us time and it may
> result in more of us commenting (since not everyone who could comment
> would bother to visit pastebin links). Additionally, pastebin will
> eventually be gone, and it might happen sooner than the content becomes
> irrelevant to those browsing our mailing list archives.
>
> On Thu, Apr 25, 2013 at 02:24:45PM +0200, D?niel Bali wrote:
> [...]
> > http://pastebin.com/AK8PjjCx
> >
> > And here is my "mock up" makefile rule, I hope I didn't do anything
> stupid
> > here:
> >
> > http://pastebin.com/MvUStaFF
> [...]
>
> Alexander
>
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.