Transaction

8688b0d5a9a865e61b18bd2dca0ba5b3664ba0630fd7ae9dfba7c57588e1a1c9
2024-03-22 15:37:32
0.00000137 BSV
(
0.00494097 BSV
-
0.00493960 BSV
)
10.04 sat/KB
1
70,840
13,638 B

2 Outputs

Total Output:
0.00493960 BSV
  • j"1LAnZuoQdcKCkpDBKQMCgziGMoPC4VQUckMI4<div class="post">After verification, the macro CL_VERSION_1_1 is defined in CL/cl.h from the Cuda Toolkit I installed, and this file declare the OpenCL 1.1 functions (it's logic in fact, I should have a compilation error otherwise) !<br/><br/>So the Toolkit I installed take in charge OpenCL 1.1, and my current Nvidia driver (that I didn't update) is still on OpenCL 1.0.<br/><br/>I checked on the "public" drivers on the net, the version is still 258.96 (the one I use), so I downloaded and installed the "Developer Drivers for WinVista and Win7 (260.61)" from <a href="http://developer.nvidia.com/object/cuda_3_2_toolkit_rc.html#Windows%20XP,%20Windows%20Vista%20and%20Windows7">http://developer.nvidia.com/object/cuda_3_2_toolkit_rc.html#Windows%20XP,%20Windows%20Vista%20and%20Windows7</a> (the page on which I download the CUDA Toolkit).<br/><br/>My OpenCL.dll file now provides the OpenCL 1.1 functions.<br/>I tried to run poclbm.py, as m0mchil said there is a problem with the rotate function, but pyopencl seems to work*, that's a good point <img alt="Smiley" border="0" src="/static/img/emoticons/smiley.gif"/><br/><br/>* There are still some errors while running the tests provided with pyopencl, but I don't know if this is crucial.<br/><br/>Errors on rotate :<br/><div class="codeheader">Code:</div><div class="code">&lt;program source&gt;:204:2: error: no matching function for call to 'rotate'<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;sharound(D,E,F,G,H,A,B,C,R(61),0xA4506CEB);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br/>&lt;program source&gt;:4:103: note: instantiated from:<br/>#define sharound(a,b,c,d,e,f,g,h,x,K) {h=(h+(rot(e, 26)^rot(e, 21)^rot(e, 7))+(g^(e&amp;(f^g)))+K+x); t1=(rot(a, 30)^rot(a,<br/>19)^rot(a, 10))+((a&amp;b)|(c&amp;(a|b))); d+=h; h+=t1;}<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;program source&gt;:2:19: note: instantiated from:<br/>#define rot(x, y) rotate(x, (uint)y)<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^~~~~~<br/>&lt;built-in&gt;:3025:26: note: candidate function<br/>ulong16 __OVERLOADABLE__ rotate(ulong16, ulong16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3024:25: note: candidate function<br/>ulong8 __OVERLOADABLE__ rotate(ulong8, ulong8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:3023:25: note: candidate function<br/>ulong4 __OVERLOADABLE__ rotate(ulong4, ulong4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:3019:25: note: candidate function<br/>ulong2 __OVERLOADABLE__ rotate(ulong2, ulong2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:3018:25: note: candidate function<br/>long16 __OVERLOADABLE__ rotate(long16, long16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:3017:24: note: candidate function<br/>long8 __OVERLOADABLE__ rotate(long8, long8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3016:24: note: candidate function<br/>long4 __OVERLOADABLE__ rotate(long4, long4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3012:24: note: candidate function<br/>long2 __OVERLOADABLE__ rotate(long2, long2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3011:25: note: candidate function<br/>uint16 __OVERLOADABLE__ rotate(uint16, uint16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:3010:24: note: candidate function<br/>uint8 __OVERLOADABLE__ rotate(uint8, uint8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3009:24: note: candidate function<br/>uint4 __OVERLOADABLE__ rotate(uint4, uint4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3005:24: note: candidate function<br/>uint2 __OVERLOADABLE__ rotate(uint2, uint2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3004:24: note: candidate function<br/>int16 __OVERLOADABLE__ rotate(int16, int16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:3003:23: note: candidate function<br/>int8 __OVERLOADABLE__ rotate(int8, int8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:3002:23: note: candidate function<br/>int4 __OVERLOADABLE__ rotate(int4, int4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2998:23: note: candidate function<br/>int2 __OVERLOADABLE__ rotate(int2, int2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2997:27: note: candidate function<br/>ushort16 __OVERLOADABLE__ rotate(ushort16, ushort16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2996:26: note: candidate function<br/>ushort8 __OVERLOADABLE__ rotate(ushort8, ushort8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2995:26: note: candidate function<br/>ushort4 __OVERLOADABLE__ rotate(ushort4, ushort4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2991:26: note: candidate function<br/>ushort2 __OVERLOADABLE__ rotate(ushort2, ushort2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2990:26: note: candidate function<br/>short16 __OVERLOADABLE__ rotate(short16, short16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2989:25: note: candidate function<br/>short8 __OVERLOADABLE__ rotate(short8, short8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2988:25: note: candidate function<br/>short4 __OVERLOADABLE__ rotate(short4, short4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2984:25: note: candidate function<br/>short2 __OVERLOADABLE__ rotate(short2, short2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2983:26: note: candidate function<br/>uchar16 __OVERLOADABLE__ rotate(uchar16, uchar16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2982:25: note: candidate function<br/>uchar8 __OVERLOADABLE__ rotate(uchar8, uchar8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2981:25: note: candidate function<br/>uchar4 __OVERLOADABLE__ rotate(uchar4, uchar4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2977:25: note: candidate function<br/>uchar2 __OVERLOADABLE__ rotate(uchar2, uchar2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2976:25: note: candidate function<br/>char16 __OVERLOADABLE__ rotate(char16, char16);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2975:24: note: candidate function<br/>char8 __OVERLOADABLE__ rotate(char8, char8);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2974:24: note: candidate function<br/>char4 __OVERLOADABLE__ rotate(char4, char4);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2970:24: note: candidate function<br/>char2 __OVERLOADABLE__ rotate(char2, char2);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2967:24: note: candidate function<br/>ulong __OVERLOADABLE__ rotate(ulong, ulong);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2966:23: note: candidate function<br/>long __OVERLOADABLE__ rotate(long, long);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2965:23: note: candidate function<br/>uint __OVERLOADABLE__ rotate(uint, uint);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2964:22: note: candidate function<br/>int __OVERLOADABLE__ rotate(int, int);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2963:25: note: candidate function<br/>ushort __OVERLOADABLE__ rotate(ushort, ushort);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^<br/>&lt;built-in&gt;:2962:24: note: candidate function<br/>short __OVERLOADABLE__ rotate(short, short);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2961:24: note: candidate function<br/>uchar __OVERLOADABLE__ rotate(uchar, uchar);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^<br/>&lt;built-in&gt;:2960:23: note: candidate function<br/>char __OVERLOADABLE__ rotate(char, char);<br/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^</div><br/>Edit : I just see the rot function in poclbm.py (the one m0mchil was talking in fact I gess), I will try to see how to change the two rot functions, and perhaps bytereverse in btc_miner. cl ?<br/><br/>Edit2 : pfiuuu, it's hard !<br/>first time I work on python and therefore on pyopencl, and using the nvidia toolkit. I don't even know from where the rotate functions come (the candidates functions), where are they defined (nividia toolkit, boost, standard c++, ... and from which include) ?<br/><br/>Edit3 : ...<br/>I made some tries, and I don't succed for now:<br/><div class="codeheader">Code:</div><div class="code">Traceback (most recent call last):<br/>&nbsp;&nbsp;File "poclbm.py", line 57, in &lt;module&gt;<br/>&nbsp;&nbsp; &nbsp;miner = cl.Program(context, kernelFile.read()).build()<br/>&nbsp;&nbsp;File "E:\Python26\lib\site-packages\pyopencl-0.92-py2.6-win32.egg\pyopencl\__init__.py", line 138, in program_build<br/>&nbsp;&nbsp; &nbsp;"Build on %s: %s" % (dev, log) for dev, log in build_logs))<br/>pyopencl.RuntimeError: clBuildProgram failed: build program failure<br/><br/>Build on &lt;pyopencl.Device 'GeForce 9800 GT' at 0x2312eb8&gt;:<br/><br/>Error: Code selection failed to select: 0x527c7f8: i32 = bswap 0x527cbb0</div>... I have no idea of what that means &nbsp;<img alt="Grin" border="0" src="/static/img/emoticons/grin.gif"/><br/><br/>(for this test I just change #define rot(x, y) rotate(x, (uint)y) to #define rot(x, y) rotate(x, (uint2)y) in btc_miner.cl, trying to make it running first before checking the operations made).<br/><br/>Edit 4 :<br/>a "funny" thing, the problem I have come from the end of the function search in btc_miner.cl<br/><br/>If I remove those lines<br/><div class="codeheader">Code:</div><div class="code">&nbsp; &nbsp; if((H.x==0) &amp;&amp; (bytereverse(G.x)&lt;=target))<br/>&nbsp; &nbsp; {<br/>&nbsp; &nbsp; &nbsp; &nbsp; output[0] = 1;<br/>&nbsp; &nbsp; &nbsp; &nbsp; output[1] = nonce.x;<br/>&nbsp; &nbsp; }<br/><br/>&nbsp; &nbsp; if((H.y==0) &amp;&amp; (bytereverse(G.y)&lt;=target))<br/>&nbsp; &nbsp; {<br/>&nbsp; &nbsp; &nbsp; &nbsp; output[0] = 1;<br/>&nbsp; &nbsp; &nbsp; &nbsp; output[1] = nonce.y;<br/>&nbsp; &nbsp; }</div>the script is built without error and start.<br/><br/>If I leave the tests without output[n] = ... it builds, and if I leave output[n] = ... without the tests, it builds also.<br/>but if I put the test and output[n] = ... I have the following error :<br/><div class="codeheader">Code:</div><div class="code">Traceback (most recent call last):<br/>&nbsp; File "poclbm.py", line 57, in &lt;module&gt;<br/>&nbsp; &nbsp; miner = cl.Program(context, kernelFile.read()).build()<br/>&nbsp; File "E:\Python26\lib\site-packages\pyopencl-0.92-py2.6-win32.egg\pyopencl\__init__.py", line 138, in program_build<br/>&nbsp; &nbsp; "Build on %s: %s" % (dev, log) for dev, log in build_logs))<br/>pyopencl.RuntimeError: clBuildProgram failed: build program failure<br/><br/>Build on &lt;pyopencl.Device 'GeForce 9800 GT' at 0x2952eb8&gt;:<br/><br/>Error: Code selection failed to select: 0x4f5a8d0: i32 = bswap 0x4f94670</div></div> text/html
    https://whatsonchain.com/tx/8688b0d5a9a865e61b18bd2dca0ba5b3664ba0630fd7ae9dfba7c57588e1a1c9