Bitcoin Forum
November 16, 2024, 01:29:03 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: New .Net Miner (now with GPU and long poll!)  (Read 8491 times)
Furyan
Full Member
***
Offline Offline

Activity: 175
Merit: 102



View Profile
July 15, 2011, 10:02:25 PM
 #41

Ok, this is very cool.  I was looking for someone who had done this. If you need help with this, give me a hollar.  There is a reason I may be an ideal coding partner on this, which I will share over PM if you're interested.

You beat me to it.  I was still on the OpenCL .NET wrapper step.  That said, I've only been looking into Bitcoin for 9 days Smiley

Next step:  .NET pushpool.

That may be my next "side" project...

Well there's work to be done on it, so just do it. Wink

Sweet. Any places you feel the code needs immediate attention? I'll probably screw around with it this weekend.
Zagitta
Full Member
***
Offline Offline

Activity: 302
Merit: 100


Presale is live!


View Profile
July 16, 2011, 12:28:15 AM
 #42

Ok, this is very cool.  I was looking for someone who had done this. If you need help with this, give me a hollar.  There is a reason I may be an ideal coding partner on this, which I will share over PM if you're interested.

You beat me to it.  I was still on the OpenCL .NET wrapper step.  That said, I've only been looking into Bitcoin for 9 days Smiley

Next step:  .NET pushpool.

That may be my next "side" project...

Already being worked on: https://github.com/Zagitta/Zetlon.Coinster :p

wasabi (OP)
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
July 16, 2011, 01:49:15 AM
 #43

Sweet. Any places you feel the code needs immediate attention? I'll probably screw around with it this weekend.

Well, BFI_INT stuff needs to be added. That's pretty crappy to do though.

Most of the outstanding stuff I need to do requires a bit of rearch. I want to add support for running miner plugins out of process of the main program. Once that is in, the processes can be started and stopped dynamically in the Console session, so they have GPU access.

I need more events flowing from the miner processes up to the main program. They already expose Resources, which represent something like a CPU, or a GPU, but those Resources can be a bit more descriptive. Hash count tracking per-resource would be nice. Then, when the main program is getting events from all of the stuff it's running, the console UI can be updated a bit (maybe using curses stuff) to show exactly what's happening. What GPUs are running. What pools are running. What GPUs are working on work from what pool, etc.

I'd like a miner plugin factory to be able to, with a resource, also advertise possible run-modes of the miner. Such as work group size, vector modes, etc. This way, instead of the user having to specify what options he wants the program to use, it just tries them all during the test phase, and picks the fastest.

Pool configuration stored in some other structure than System.Configuration would be nice. Or maybe System.Configuration is fine, but it needs to be configurable at runtime. You need to be able to alter the pools at runtime... for a future WPF UI.

wasabi (OP)
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
July 16, 2011, 01:50:39 AM
 #44

I should also note that I'm kind of an architecture snob. I don't like hacks. I like clean, well designed code, with lots of separation between layers, and lots of comments. This is mostly just a for-fun project for me, so I will probably have strong opinions about how something should be designed. It's practice.
PcChip
Sr. Member
****
Offline Offline

Activity: 418
Merit: 250


View Profile
July 19, 2011, 06:54:38 AM
 #45

I edited both config files, and tried running both EXE's, and both crashed.

One had some information as it crashed, so I took a screenshot (it then proceeded to crash my display driver)

Hardware is an i5 Lynnfield that gets 15.5 MH/s on Ufasoft's SSE2 miner, and a GTX570 with ForceWare 275.50


Legacy signature from 2011: 
All rates with Phoenix 1.50 / PhatK
5850 - 400 MH/s  |  5850 - 355 MH/s | 5830 - 310 MH/s  |  GTX570 - 115 MH/s | 5770 - 210 MH/s | 5770 - 200 MH/s
wasabi (OP)
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
July 19, 2011, 03:36:02 PM
 #46

Hmm. I had this problem on a Windows Server 2008 box. I just did a little work, and I think it's a missing dependency for the C++ stuff.

I believe you need the Microsoft Visual C++ Runtime (x64) installed.

http://www.microsoft.com/download/en/details.aspx?id=14632

I might be wrong.
Nachtwind
Hero Member
*****
Offline Offline

Activity: 700
Merit: 507



View Profile
July 22, 2011, 10:45:16 AM
Last edit: July 22, 2011, 12:46:02 PM by Nachtwind
 #47

Hm... do i need something special to make it run with GPU?
Tried it on two machines, one with a 4670 and one with a 6850 - both gave me but 1.500kh - so i guess it was using only CPU...

Any ideas someone here?



*edit*
Bugreport:

After a while the program throws an exception: factory is "null"
Code:
        private IMiner StartMiner(IMinerFactory factory, MinerResource resource, IMinerContext context)
        {
            lock (syncRoot)
            {
                var miner = factory.StartMiner(context, resource); //here it throws it. Factory is NULL
                Miners.Add(new MinerEntry(miner, resource));
                return miner;
            }
        }


*edit2*
After changing the previous code to check wether factory is null or not i got INVALIDS and SOLUTIONS - but they dont get reported to my proxy or the pool. It also says it was using GPU - though i doubt that at 1 to 5 kh...
pennytrader
Sr. Member
****
Offline Offline

Activity: 254
Merit: 250


View Profile
July 27, 2011, 02:27:50 AM
 #48

I'd like to support the .Net solution. I always want to write one but too lazy...

please donate to 1P3m2resGCP2o2sFX324DP1mfqHgGPA8BL
iopq
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


View Profile
July 29, 2011, 06:02:07 PM
 #49

tried running it, just stuck on 0 mhash/s
any ideas? I'm running straight from the package, I edited my console.exe.config to

<?xml version="1.0"?>

<configuration>
    
    <configSections>
        <section
            name="bitmaker.miner"
            type="BitMaker.Miner.ConfigurationSection, BitMaker.Miner" />
    </configSections>

    <bitmaker.miner>
    <pools>
            <add
            url="http://iopq.me:***@mineco.in:3000/" />
     </pools>
    </bitmaker.miner>
</configuration>

running windows 7 64 bit
Furyan
Full Member
***
Offline Offline

Activity: 175
Merit: 102



View Profile
August 12, 2011, 01:12:18 AM
 #50

Sweet. Any places you feel the code needs immediate attention? I'll probably screw around with it this weekend.

Well, BFI_INT stuff needs to be added. That's pretty crappy to do though.

Most of the outstanding stuff I need to do requires a bit of rearch. I want to add support for running miner plugins out of process of the main program. Once that is in, the processes can be started and stopped dynamically in the Console session, so they have GPU access.

I need more events flowing from the miner processes up to the main program. They already expose Resources, which represent something like a CPU, or a GPU, but those Resources can be a bit more descriptive. Hash count tracking per-resource would be nice. Then, when the main program is getting events from all of the stuff it's running, the console UI can be updated a bit (maybe using curses stuff) to show exactly what's happening. What GPUs are running. What pools are running. What GPUs are working on work from what pool, etc.

I'd like a miner plugin factory to be able to, with a resource, also advertise possible run-modes of the miner. Such as work group size, vector modes, etc. This way, instead of the user having to specify what options he wants the program to use, it just tries them all during the test phase, and picks the fastest.

Pool configuration stored in some other structure than System.Configuration would be nice. Or maybe System.Configuration is fine, but it needs to be configurable at runtime. You need to be able to alter the pools at runtime... for a future WPF UI.



Finally have gotten around to taking a look at this, now that my other stuff is more or less complete -

BFI_INT stuff - I'm guessing you say this is crappy because it requires doing brand detection, yes?  Being that it's supported on AMD/ATI cards you'd have to be sure to pass it only on those cards.

Miners running outside the main program - how do you feel about implementing a WCF service between them for communication?  It's a simple enough thing to do, although some might consider it a somewhat heavy-handed method of communication.
Pages: « 1 2 [3]  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!