Bitcoin Forum
November 03, 2024, 02:40:31 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 »  All
  Print  
Author Topic: Modified Kernel for Phoenix 1.5  (Read 96687 times)
Phateus (OP)
Newbie
*
Offline Offline

Activity: 52
Merit: 0


View Profile
August 02, 2011, 06:08:02 AM
 #141

With catalyst 11.6 + SDK 2.1, 975/300 setting, I'm only getting 176 mhs with phatk 2.1

With Diapolo's kernel, I was able to get 314 mhs

AAAH! I think OpenCL is going to make my head explode.. lol

You are using the OpenCL rotate() instead of amd_bitalign(), what's the benefit here (is it the same under the hood)?

Dia

No, just cleaner.. since it is the same code (well... for SDK 2.4 at least)... it looks like 2.1 does not realize that they are the same and I will have to change it back...

Quote
And, I just posted another kernel... this one is must better to look at than 2.0... I got rid of all but 3 of the SHARound #defines... Check the first page for the link

I'm still getting miner idle errors in guiminer  with  VECTORS BFI_INT -k phatk FASTLOOP=false WORKSIZE=256 AGGRESSION=12 -q2

is it just guiminer?

edit:works fine with aoclbf 1.75.. i wonder why guiminer has such trouble

speed 318 over 315 with diablo 7-17

No clue, I have no used or downloaded GUIMiner, I use aoclbf.  I might be able to take a look at it after figuring out how to make it work for SDK 2.1
Phateus (OP)
Newbie
*
Offline Offline

Activity: 52
Merit: 0


View Profile
August 02, 2011, 06:15:52 AM
 #142

With catalyst 11.6 + SDK 2.1, 975/300 setting, I'm only getting 176 mhs with phatk 2.1

With Diapolo's kernel, I was able to get 314 mhs

I changed it again, if it still doesn't work at all, can you give me some details on the settings you are using?
pennytrader
Sr. Member
****
Offline Offline

Activity: 254
Merit: 250


View Profile
August 02, 2011, 06:21:31 AM
 #143

With catalyst 11.6 + SDK 2.1, 975/300 setting, I'm only getting 176 mhs with phatk 2.1

With Diapolo's kernel, I was able to get 314 mhs

I changed it again, if it still doesn't work at all, can you give me some details on the settings you are using?

Now worked! 316 Mhash/sec!

-k phatk DEVICE=1 VECTORS BFI_INT AGGRESSION=11 WORKSIZE=256

And it uses 0% CPU as usual.

Excellent work!

please donate to 1P3m2resGCP2o2sFX324DP1mfqHgGPA8BL
Phateus (OP)
Newbie
*
Offline Offline

Activity: 52
Merit: 0


View Profile
August 02, 2011, 06:30:23 AM
Last edit: August 02, 2011, 06:45:53 AM by Phateus
 #144

And, I just posted another kernel... this one is must better to look at than 2.0... I got rid of all but 3 of the SHARound #defines... Check the first page for the link

Still does not work for me.
Here's the error message:

Code:
/usr/local/lib/python2.6/dist-packages/pyopencl-2011.1-py2.6-linux-x86_64.egg/pyopencl/__init__.py:163: UserWarning: Build succeeded, but resulted in non-empty logs:
Build on <pyopencl.Device 'Cypress' at 0x2cd7590> succeeded, but said:

/tmp/OCLWaeOzJ.cl(152): warning: variable "t1" was set but never used
        u t1;
          ^


  warn("Build succeeded, but resulted in non-empty logs:\n"+message)
[02/08/2011 06:15:45] Finding inner ELF...
[02/08/2011 06:15:45] Patching inner ELF...
[02/08/2011 06:15:45] Patching instructions...
[02/08/2011 06:15:45] BFI-patched 472 instructions...
[02/08/2011 06:15:45] Patch complete, returning to kernel...
[02/08/2011 06:15:45] Applied BFI_INT patch
[02/08/2011 06:15:46] Phoenix r100 starting...
[02/08/2011 06:15:46] Connected to server
[02/08/2011 06:15:46] Server gave new work; passing to WorkQueue
[02/08/2011 06:15:46] New block (WorkQueue)
[0 Khash/sec] [0 Accepted] [0 Rejected] [RPC]Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 361, in callback
    self._startRunCallbacks(result)
  File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 455, in _startRunCallbacks
    self._runCallbacks()
  File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 542, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/media/persistent/phoenix/QueueReader.py", line 136, in preprocess
    d2 = defer.maybeDeferred(self.preprocessor, nr)
--- <exception caught here> ---
  File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 133, in maybeDeferred
    result = f(*args, **kw)
  File "kernels/phatk/__init__.py", line 179, in <lambda>
    self.qr = QueueReader(self.core, lambda nr: self.preprocess(nr),
  File "kernels/phatk/__init__.py", line 379, in preprocess
    kd = KernelData(nr, self.core, self.rateDivisor, self.AGGRESSION)
  File "kernels/phatk/__init__.py", line 46, in __init__
    unpack('LLLL', nonceRange.unit.data[64:]), dtype=np.uint32)
struct.error: unpack requires a str[02/08/2011 06:15:46] Server gave new work; passing to WorkQueue
[0 Khash/sec] [0 Accepted] [0 Rejected] [RPC (+LP)]


Hmmm... can you try replacing the 'LLLL' with 'IIII' (line 46 of __init__.py), I think the windows version uses python 2.7 which may handle that differently.

Edit:  I've made the changes already and posted as 2.1 again (hopefully this fixes it)
ssateneth
Legendary
*
Offline Offline

Activity: 1344
Merit: 1004



View Profile
August 02, 2011, 06:52:50 AM
 #145

Thanks for the update. Apparently guiminer needs to be updated for this kernel to work though (outdated phoenix?..) It just spams idle on the console. I really need to use guiminer. This is so frustrating Sad

dishwara
Legendary
*
Offline Offline

Activity: 1855
Merit: 1016



View Profile
August 02, 2011, 07:13:21 AM
 #146

2.1version. With VECTORS4 & worksize 128 or 64, i only get 365 instead of 441. I under clock memory.
But with just vectors i get 448 & 432.
Using 2version i got 441 & 427

cards MSI Lightning 5870 & Sapphire HD 5870
MSI  448 Mhash/s - 975/325, 1175mV - aggression 13
Sapphire 432 Mhash/s - 939/313, 1163mV - aggression 12

Windows 7, 64 bit, AERO enabled, AOCLBF 1.75
ssateneth
Legendary
*
Offline Offline

Activity: 1344
Merit: 1004



View Profile
August 02, 2011, 07:31:26 AM
 #147

2.1version. With VECTORS4 & worksize 128 or 64, i only get 365 instead of 441. I under clock memory.
But with just vectors i get 448 & 432.
Using 2version i got 441 & 427

cards MSI Lightning 5870 & Sapphire HD 5870
MSI  448 Mhash/s - 975/325, 1175mV - aggression 13
Sapphire 432 Mhash/s - 939/313, 1163mV - aggression 12

Windows 7, 64 bit, AERO enabled, AOCLBF 1.75

VECTORS4 is only if you DON'T underclock memory i.e. stock memory clocks or the glitch where you can only underclock memory 100mhz lower than core speeds.

Low memory speed (<400MHz) = VECTORS and WORKSIZE=256
High memory speed (>900MHz) = VECTORS4 and WORKSIZE=64 or WORKSIZE=128

joulesbeef
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


moOo


View Profile
August 02, 2011, 07:49:03 AM
 #148

Quote
Thanks for the update. Apparently guiminer needs to be updated for this kernel to work though (outdated phoenix?..) It just spams idle on the console. I really need to use guiminer. This is so frustrating

nah phoenix seems up to date I'm guessing it is due to it using python 2.6 instead of 2.7

mooo for rent
Phateus (OP)
Newbie
*
Offline Offline

Activity: 52
Merit: 0


View Profile
August 02, 2011, 08:19:39 AM
 #149

Quote
Thanks for the update. Apparently guiminer needs to be updated for this kernel to work though (outdated phoenix?..) It just spams idle on the console. I really need to use guiminer. This is so frustrating

nah phoenix seems up to date I'm guessing it is due to it using python 2.6 instead of 2.7

Woooo!, found the bug... it is in my kernel...
replace
Code:
#self.commandQueue.finish()
with
Code:
self.commandQueue.finish()
near the end of __init__.py

*sigh*... Uploaded the file yet again...
ssateneth
Legendary
*
Offline Offline

Activity: 1344
Merit: 1004



View Profile
August 02, 2011, 08:47:56 AM
Last edit: August 02, 2011, 09:00:28 AM by ssateneth
 #150

Quote
Thanks for the update. Apparently guiminer needs to be updated for this kernel to work though (outdated phoenix?..) It just spams idle on the console. I really need to use guiminer. This is so frustrating

nah phoenix seems up to date I'm guessing it is due to it using python 2.6 instead of 2.7

Woooo!, found the bug... it is in my kernel...
replace
Code:
#self.commandQueue.finish()
with
Code:
self.commandQueue.finish()
near the end of __init__.py

*sigh*... Uploaded the file yet again...

THIS FIXED IT! THANK YOU!!!!!

Donation coming your way. EXCELLENT improvement. Gained 4 mhash on my 5830 and and 5.4 on my 5870. Amazing!
Also 3 x 5830 rig went from 966.1 to 977.3, and increase of 11.2 mhash or 1.159%

dishwara
Legendary
*
Offline Offline

Activity: 1855
Merit: 1016



View Profile
August 02, 2011, 09:11:32 AM
 #151

With NEW 2.1, same results only. 448 & 432.
I am using 11.8 beta.
AMD APP 2.5.709.2
AMD Display Driver 8.880.3.0000
John (John K.)
Global Troll-buster and
Legendary
*
Offline Offline

Activity: 1288
Merit: 1227


Away on an extended break


View Profile
August 02, 2011, 09:36:04 AM
 #152

With new 2.1, hashes have improved at 4 mhs from 410 to 414 for my 5850's each ! Grin Grin
Thank you!
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
August 02, 2011, 10:51:29 AM
 #153

Good stuff Phateus Smiley I'm getting an extra 2-3MH/s with your newest kernel compared to Diapolo's last kernel. I merged the code into my fork of poclbm and it seems to be working fine there (with command line option --phatk2):
https://github.com/progranism/poclbm

The only bug I found was that the kernel wouldn't compile without BITALIGN. Not really important, since all my mining cards support BITALIGN. It complained about rotate being ambiguous.

Keep up the good work!

Hey fpgaminer, I really like this poclbm version of phatk2 but could you update the same version with --phatk2_1 switch or something so we could testdrive both versions with ease Smiley

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
iopq
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


View Profile
August 02, 2011, 12:04:17 PM
 #154

I'm getting a warning:

D:\sw\python27\lib\site-packages\pyopencl\__init__.py:173: UserWarning: Build su
cceeded, but resulted in non-empty logs:
Build on <pyopencl.Device 'Juniper
          ' at 0x414d7a0> succeeded, but said:

C:\Users\Igor\AppData\Local\Temp\OCL6496.tmp.cl(155): warning: variable "t1"
          was set but never used
        u t1;
          ^

NT -D
  warn("Build succeeded, but resulted in non-empty logs:\n"+message)
UniverseMan
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
August 02, 2011, 01:43:38 PM
Last edit: August 02, 2011, 02:02:37 PM by UniverseMan
 #155

Using 2.1, I'm still getting the same error as before.
I'm using Ubuntu 11.04, Catalyst 11.6, Phoenix 1.50. I unpacked the phatk version 2 files into my phoenix-1.50/kernels/phatk folder.
When I ran my phoenix with kernel options
Code:
-k phatk DEVICE=0 BFI_INT VECTORS AGGRESSION=12 FASTLOOP=FALSE WORKSIZE=256
I got the following error:
Code:
user@computer:~$ sudo ./btcg0.sh
[31/07/2011 18:04:08] Phoenix 1.50 starting...
[31/07/2011 18:04:09] Connected to server
[0 Khash/sec] [0 Accepted] [0 Rejected] [RPC]Unhandled error in Deferred:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 361, in callback
    self._startRunCallbacks(result)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 455, in _startRunCallbacks
    self._runCallbacks()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 542, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/user/phoenix-1.50/QueueReader.py", line 136, in preprocess
    d2 = defer.maybeDeferred(self.preprocessor, nr)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 133, in maybeDeferred
    result = f(*args, **kw)
  File "kernels/phatk/__init__.py", line 167, in <lambda>
    self.qr = QueueReader(self.core, lambda nr: self.preprocess(nr),
  File "kernels/phatk/__init__.py", line 361, in preprocess
    kd = KernelData(nr, self.core, self.VECTORS, self.AGGRESSION)
  File "kernels/phatk/__init__.py", line 46, in __init__
    unpack('LLLL', nonceRange.unit.data[64:]), dtype=np.uint32)
struct.error: unpack requires a string argument of length 32
I then had to CTRL+Z to kill the process.

I'm still getting the unpack 'LLLL' error. (Note: I tried to pipe the output of phoenix through tee to make a log, but tee gave a completely garbled log file and I didn't notice it until after I reverted my kernel files. This is obviously not your problem; I just want you to know why I don't have any new error messages to show.)

This is the same error as znort (except I'm on python 2.7 and he's on 2.6).

You suggested a fix...
Hmmm... can you try replacing the 'LLLL' with 'IIII' (line 46 of __init__.py), I think the windows version uses python 2.7 which may handle that differently.
...which I tried (even though you say it's a windows problem and I'm not on windows). It gave another error at a later 'unpack' call being passed 'LLLLLLLL', and the error said 'unpack requires a string argument of length 64'. I tried changing that one to 'IIIIIIII', but it gave another error down the line that said something like 'incorrect arguments passed to kernel'. (Again, apologies for not having an error log.)

EDIT: I checked something else, and now I'm more Huh than ever. I loaded up the python interpreter on my machine so I can check how it sees the 'LLLL' and 'IIII' strings.
Code:
>>> import struct
>>> struct.calcsize('LLLL')
32
>>> struct.calcsize('IIII')
16
>>> struct.calcsize('LLLLLLLL')
64
>>> struct.calcsize('IIIIIIII')
32
Does this mean it's the nonceRange data and not the 'LLLL' that's the wrong size? How could that be? Does that mean there's some error wherever that nonceRange got packed in the first place?

Like I said, I'm  Huh
UniverseMan
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
August 02, 2011, 02:23:03 PM
Last edit: August 02, 2011, 02:55:38 PM by UniverseMan
 #156

All that stuff I just said.

HA! Got it fixed. Anyone who's having the error I just had, go through __init__.py, and every time there's an 'unpack' or a 'pack' statement that gets passed some number of 'L's (they will be 2, 4, or 8 'L's long), just add an '=' to the beginning. So 'LLLL' becomes '=LLLL'.

If you look up the documentation on how struct (which is where pack and unpack come from) parses its arguments, found here, it's system dependent by default. But if you add the '=', it forces the size characters (Like the 'L's and 'I's and such) to be standard size.  Grin

(Also, I had to uncomment the self.commandQueue.finish() statement, as per this post. I thought that was fixed, but it was still broken when I dled this morning.)

Kernel - 6870 945/1050 - 5830 1030/330
Diapolo 7-17 - 293 MH/s - 325 MH/s
phatk2.1 - 299 MH/s - 328 MH/s

Thanks for the work, phateus.  Grin Grin
iopq
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


View Profile
August 02, 2011, 02:31:02 PM
 #157

using poclbm fork with phatk2.1 and it's the fastest kernel so far
I tried with 2.4 opencl and it was slower, so I went back to 2.1 which is the fastest on my card (hd 5750)
Clipse
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502


View Profile
August 02, 2011, 02:41:19 PM
 #158

using poclbm fork with phatk2.1 and it's the fastest kernel so far
I tried with 2.4 opencl and it was slower, so I went back to 2.1 which is the fastest on my card (hd 5750)

Yeh I must say, poclbm fork with phatk2 outperformed phatk2 on phoenix 1.5 (and up till now all phatk mods performed between on phoenix 1.5 for me)

quite interesting.

ps. iopq, can you post the changes made to run phatk2.1 on poclbm mod by fpgaminer, I assume you are using that? Also what arg is added to use vectors4. Ive replaced phatk2.cl with phatk2.1 cl but I get ~11mh less with phatk2.1 so I am wondering if there is other changes required. I am using sdk 2.4

...In the land of the stale, the man with one share is king... >> Clipse

We pay miners at 130% PPS | Signup here : Bonus PPS Pool (Please read OP to understand the current process)
UniverseMan
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
August 02, 2011, 02:43:35 PM
 #159

I tried VECTORS4 on my 6870, since I can't underclock the memory (it's at 1050).

Results:
VECTORS
WS 64: 295 MH/s
WS 128: 299 MH/s
WS 256: 292 MH/s

VECTORS4
WS 64: 278 MH/s
WS 128: 258 MH/s
WS 256: 230 MH/s

So VECTORS4 doesn't give me any boost. But thanks for putting it in. New functionality is always a plus.
Diapolo
Hero Member
*****
Offline Offline

Activity: 772
Merit: 500



View Profile WWW
August 02, 2011, 03:10:38 PM
 #160

@Phat:

I don't understand how you achieve, that base is always an uint as kernel parameter now that base has (uint2)(0, 1) or (uint4)(0, 1, 2, 3) added into it via the init-file. If I try to do this with my mod it just crashes Phoenix, now if I use const u base, instead of const uint base, it seems to work (because u reflects the correct variable type uint, uint2 or uint4). Have you got an idea for this?

Thanks,
Dia

Liked my former work for Bitcoin Core? Drop me a donation via:
1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x
bitcoin:1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x?label=Diapolo
Pages: « 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!