Author

Topic: Nexus - Pure SHA3 + CPU/GPU + nPoS + 15 Active Innovations + More to Come - page 305. (Read 785514 times)

hero member
Activity: 756
Merit: 502
Hi fellas

I find that the sieve in the Supercomputing miner may be a bit more efficient when you increase the number of offsets going into the sieve. In 3 hours my three GPUs found 9 blocks, which is about 50% more efficient than before.

[...content deleted...]

EDIT: Meh, after a run time of 12 hours I think I can say it must have been a fluke. The first few blocks arrived faster purely by chance.
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Supertxfast,

Each number corresponds to the Difficulty of Each Mining Channel, The Prime Channel [CPU] and the Hashing Channel [GPU].


----------------------------------


mumus [here is some code]

Code:

/** Determines the Decimal of nBits per Channel for a decent "Frame of Reference".
Has no functionality in Network Operation. **/
double GetDifficulty(unsigned int nBits, int nChannel)
{
if(nChannel == 1)
return nBits / 10000000.0;

double dDiff =
(double)0x0000ffff / (double)(nBits & 0x00ffffff);

int nShift = nBits >> 24;
while(nShift > 124)
{
dDiff = dDiff / 256.0;
nShift--;
}

while(nShift < 124)
{
dDiff = dDiff * 256.0;
nShift++;
}

return dDiff * 64;
}

unsigned int ShieldTargetGPU(const CBlockIndex* pindex, bool output)
{
const CBlockIndex* pindexFirst = GetLastChannelIndex(pindex, 2);
if (pindexFirst->pprev == NULL)
return bnProofOfWorkStart[2].GetCompact();

const CBlockIndex* pindexLast = GetLastChannelIndex(pindexFirst->pprev, 2);
if (pindexLast->pprev == NULL)
return bnProofOfWorkStart[2].GetCompact();


int64 nBlockTime = max(pindexFirst->GetBlockTime() - pindexLast->GetBlockTime(), (int64) 1);
int64 nBlockTarget = nTargetTimespan;


double nChainMod = GetFractionalSubsidy(GetChainAge(pindexFirst->GetBlockTime()), 0, 20.0) / (pindexFirst->nReleasedReserve[0] + 1);
nChainMod = min(nChainMod, 1.0);
nChainMod = max(nChainMod, (pindex->nVersion == 1) ? 0.75 : 0.5);


/** Enforce Block Version 2 Rule. Chain mod changes block time requirements, not actual mod after block times. **/
if(pindex->nVersion >= 2)
nBlockTarget *= nChainMod;


double nBlockMod = (double) nBlockTarget / nBlockTime;
nBlockMod = min(nBlockMod, 1.125);
nBlockMod = max(nBlockMod, 0.75);


int64 nUpperBound = nBlockTarget;
int64 nLowerBound = nBlockTarget * nBlockMod;

if(pindex->nVersion == 1)
nLowerBound *= nChainMod;

///set maximum [difficulty] up to 8%, and minimum [difficulty] down to 75%
nLowerBound = min(nLowerBound, (int64)(nUpperBound + (nUpperBound / 8)));
nLowerBound = max(nLowerBound, (3 * nUpperBound ) / 4);

CBigNum bnNew;
bnNew.SetCompact(pindexFirst->nBits);

bnNew *= nUpperBound;
bnNew /= nLowerBound;

if (bnNew > bnProofOfWorkLimit[2])
bnNew = bnProofOfWorkLimit[2];

if(output)
{
int64 nDays, nHours, nMinutes;
GetChainTimes(GetChainAge(pindexFirst->GetBlockTime()), nDays, nHours, nMinutes);

printf("RETARGET[GPU] time=%I64d [%f %%]\n\tchain time: [%I64d / %I64d]\n\treleased reward: %I64d [%f %%]\n\tdifficulty: [%f to %f]\n\tGPU height: %I64d [AGE %I64d days, %I64d hours, %I64d minutes]\n\n",
nBlockTime, (100.0 * ((double)nLowerBound / nUpperBound)), nBlockTarget, nBlockTime, pindexFirst->nReleasedReserve[0] / COIN, 100.0 * nChainMod, GetDifficulty(pindexFirst->nBits, 2), GetDifficulty(bnNew.GetCompact(), 2), pindexFirst->nChannelHeight, nDays, nHours, nMinutes);
}

return bnNew.GetCompact();
}

Since the nBits is a Compact Representation of an uint1024, the calculation had to be modified to fit the circumstances. I'll post your suggestions in the Next Update, for the Difficulty of the Current Block being displayed in Debug Console.

Thank You,
Viz.
sr. member
Activity: 291
Merit: 250
Hi Viz and the dev team.
Could you please let us know the exact formula how to calculate the difficulty of the GPU channel from the block target? I would like to use it on the miner.  I can calculate a constant back based on the difficulty and target of an existing block but I guess there is a better way.
Also I've noticed that the difficulties we can see in the wallet debug window (and with the RPC commands) are the difficulty of the last fond block. For me it would be more logical to see the difficulty of the current block the miners are trying to solve and not the one before.
As a side note, in one of my previous posts https://bitcointalksearch.org/topic/m.9319604 I've also suggested to use the difficulty of the block 0 as a base difficulty 1 and calculate the difficulty of every block based on this, similar to bitcoin.
sr. member
Activity: 518
Merit: 275
If you fail...just dont fail again
Dev,do you have any plan on PoD? You need more trust with ppl on such a great project.

POD doesn't mean anything, wake up you bunch of idiots! In last few months there was over 30 coins with POD which were HUGE SCAMS.
If you can't conclude after months of their development and support of this coin that they are real deal then you should just give up, cash out your btc's and never come back to crypto.

If all the hard work we have put into CoinShield, and no premine... still leaves doubt about us I'm confident POD won't help. Our focus is building this coin, not spending valuable time on building "trust" by getting POD. When I see coins who have a heavy premine, with names like DarkBlackPeerBitcoin (just an example of course prob. not a real coin...yet) which took 3-6 hours to clone/create and then get a POD for the sake of building "trust" it makes me questioned why anyone would consider this a tool for building trust.

When I see all the coins listed: http://cryptoasian.com/coin-list ... I am glad that CoinShield is not on that list.

However as with everything...If enough people agree that a POD is the best tool for creating trust then I will discuss it with Viz. Until that time we will continue to work on the development of CoinShield.

On another note, I am very happy to see the community helping out so much. This provides Viz more time to code and work on the core. Pools Source will be released very soon.  Smiley  

Cheers,
KryptoKash

hero member
Activity: 756
Merit: 502
Djm you are working on miner?

He's trying to get the OpenCL miner to be competitive.
member
Activity: 92
Merit: 10
Is there some limitation in skminer for 4 GPU ??
my bat file: skminer.exe 127.0.0.1 9325 6 20 but only GPU 1,2,3 & 6 work. GPU No 4 and 5 not work. Speed is ~68Mhs for 4 GPU. My GPUs are MSI 750ti 2GB. Tested with other coins and there is no problem .
sr. member
Activity: 308
Merit: 250
Dev,do you have any plan on PoD? You need more trust with ppl on such a great project.

POD doesn't mean anything, wake up you bunch of idiots! In last few months there was over 30 coins with POD which were HUGE SCAMS.
If you can't conclude after months of their development and support of this coin that they are real deal then you should just give up, cash out your btc's and never come back to crypto.
full member
Activity: 161
Merit: 100
Hello Vi,

Could you please help to tell the different from: "prime difficulty" : 6.07757780,
    and "hash  difficulty" : 6.56321150,

in the getinf output strings.

Rgrds,
sr. member
Activity: 392
Merit: 250
Dev,do you have any plan on PoD? You need more trust with ppl on such a great project.
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Update to Core 1.0.1c: You'll be Happy You Did


Ubuntu 1.0.1c
Windows 1.0.1c

Statistics on Debug Window Mean Such:
Reserves: The CSD Released for that Channel
Total Supply: The Total CSD in Circulation.

The % shows the inflation from target.
100% = No Inflation.
101% = 1% Global Inflation.
99% = 1% Global Deflation.


The Target is at ~60% So far, this will equalize at 100% as soon as the CSD in the Hashing Reserve is Depleted

Change Log 1.0.1c:


Mining LLP:
+ Add SET_COINBASE Command to Mining LLP. Allows for Custom Coinbase TX
+ Run a Static Counter for Addresses that allow each of the last two coinbase tx's to be used consecutively.
+ Added LLP Command ClearMaps() to allow Miner to Clear their Wallet's Block Map Manually.
+ Moved Automatic Block Clearing into GetHeight Command to allow backwards compatibility with all miners.


Core:
+ Add Proof of Stake Check where Channel 0 has to be Proof of Stake Block.
+ Remove Version 1 Block Checks, as Version 2 Checks work just the same in Accept Block.
+ Update Got Inventory Debug Output for Tx Hash to be the lower 512 bits.
+ Update GetDifficulty in difficulty.cpp to give accurate decimal representation of the Hashing Difficulty.
+ Only do Coinbase Checks when not Initial Block Download
+ Update Version to 1.0.1c - Release in version.cpp


Unified Time:
+ Change Maximum Clock Drift to 20 Seconds
+ Reset Unified Time Average if Majority Sample Changes Time MAX_UNIFIED_DRIFT
+ Regulate the Clock while Waiting to check new seeds. Reset Unified Clock if Local Clock Changes.
+ Only wait 10 seconds to Try new Connection if there is more than 1 Failure for Unified Time Core LLP.


Network:
+ Added Statistics to the Debug Window. Tracks Difficulty, Reserves, and Supply %.
+ Updated RPC Commands getmininginfo, getinfo, and getdifficulty to return the difficulty of both Mining Channels.
+ Make Maximum Wait time for a Message to 10 minutes. This will fix dropped connections.



Core 1.0.1c Support Thread: Click Here.

Viz.
full member
Activity: 193
Merit: 100
Private gpu miners for cpu channel, gpu channel has no amd miner.

clap( speed = 0.1 );
and what miner did you write ? (if complaining was equivalent of writing code, I am pretty sure you'd had lots of private miners by now that you
would probably not share with other complainer)
Yeah that's pretty easy to complain, but in case you didn't realize yet, those things doesn't appear from themselves out of nowhere...

So you can keep complaining,  that won't speed up anything and actually that may delay things because instead of focusing on it,
I am reading your stupid post.

Great reply.

Just wondering... I have been thinking about trying to work on a personal miner or improving the current Nvidia GPU miner.  I have already been familiarizing myself with CUDA C and have experience with programming in general, but I was wondering if you might have a suggestion on where might be easiest to start.  As in, are there any CUDA resources that you particularly like over others?

Thanks
sr. member
Activity: 308
Merit: 250
Private gpu miners for cpu channel, gpu channel has no amd miner.

clap( speed = 0.1 );
and what miner did you write ? (if complaining was equivalent of writing code, I am pretty sure you'd had lots of private miners by now that you
would probably not share with other complainer)
Yeah that's pretty easy to complain, but in case you didn't realize yet, those things doesn't appear from themselves out of nowhere...

So you can keep complaining,  that won't speed up anything and actually that may delay things because instead of focusing on it,
I am reading your stupid post.

Djm you are working on miner?
legendary
Activity: 1400
Merit: 1050
Private gpu miners for cpu channel, gpu channel has no amd miner.

clap( speed = 0.1 );
and what miner did you write ? (if complaining was equivalent of writing code, I am pretty sure you'd had lots of private miners by now that you
would probably not share with other complainer)
Yeah that's pretty easy to complain, but in case you didn't realize yet, those things doesn't appear from themselves out of nowhere...

So you can keep complaining,  that won't speed up anything and actually that may delay things because instead of focusing on it,
I am reading your stupid post.
sr. member
Activity: 433
Merit: 250
Private gpu miners for cpu channel, gpu channel has no amd miner.

clap( speed = 0.1 );
member
Activity: 92
Merit: 10
Need more exchanges !!!   Sad
sr. member
Activity: 308
Merit: 250
When is AMD GPU miner expected? That would attract more miners and it would expose this coin to the masses...
sr. member
Activity: 309
Merit: 250
Anyone having wallet sync issues? I added a conf file for known good nodes from another wallet I have on another comp. Still only showing 2 connections and no status bar at bottom, arrows in corner are spinning....any thoughts??
sr. member
Activity: 392
Merit: 250
There is no buy orders at coinswap
legendary
Activity: 1400
Merit: 1050
GTX 760 is an sm_30 GPU and the application only seems to work on GPUs with greater compute capability for now.
so is there a chance to get it fixed?
ps: could somebody tell if sm_30 cards are finding any block under windows?

I didn't find any on testnet with a 660.
I am looking into a new kernel for the compute_30 cards (they don't have enough registers for the current one... )
but I have many things on my plate at the moment...
(I might have something... but the diff on testnet is a bit too high to get a fast answer... so it tells you already it won't be fast...)

so would lowering minimal difficulty on testnet help?
@viz: are you about to release a c release of the wallet? could you also please consider lowering the diff. in this release?
i consider donating the first 24h (or more if asked) of mining with a fixed sm_30 miner if this would help as a incentive for your (or anybody else) time...
thank you.

edit: djm34, if you have a roughly idea about which code parameters needs to be changed to fix this, please explain what i should try so i could do a trial/error loop myself until a fix is found. i'm not a software developer, but i've enough programming knowledge to perform simple code read and modifications...

If you just want to "simulate" a lower difficulty in the code then just simply do this in MinerThread.cpp (-> MinerThread::SK1024Miner() function)
            CBigNum target;
            target.SetCompact(m_pBLOCK->GetBits());            
            target.SetCompact(0x7e003fff); //simulate lower difficulty

With this setting my single 750ti "finds" a "block" every couple of seconds. Of course submission will fail but you can check that the mining algo code is working. 
thank you mumus, there are no submission attempts thus confirming the mining code is actually not working...
i've blindly tried to enable SKEIN_ERR_CHECK into hash/skein.h but nothing changed, do you know if there's something that could eventually be tuned in the code that could help fixing it?

Try to lower the const int throughput = 512*8 * 512 * 4; in sk1024.cu, for example to 512* 8 * 512 * 1 or just 512 *  512. Let me know if it worked or not. I'm trying to understand the code and now I'm playing now with another parameter that can be related and it may help. I'm a beginner in cuda coding and I definitely don't understand the code crypto algorithm yet.
unfortunately still no submission attempts, even not with just 512...
It isn't related to the throughput.
I need to rewrite the kernel for skein for compute_30 and I don't have time at the moment to work on that task...

Yes, slowly but I realized that isn't related to any parameter. I've also found one of my old compute_20 card and it doesn't works on it either.
don't hold your breath for a compute_20 cards version of the algorithm
sr. member
Activity: 291
Merit: 250
GTX 760 is an sm_30 GPU and the application only seems to work on GPUs with greater compute capability for now.
so is there a chance to get it fixed?
ps: could somebody tell if sm_30 cards are finding any block under windows?

I didn't find any on testnet with a 660.
I am looking into a new kernel for the compute_30 cards (they don't have enough registers for the current one... )
but I have many things on my plate at the moment...
(I might have something... but the diff on testnet is a bit too high to get a fast answer... so it tells you already it won't be fast...)

so would lowering minimal difficulty on testnet help?
@viz: are you about to release a c release of the wallet? could you also please consider lowering the diff. in this release?
i consider donating the first 24h (or more if asked) of mining with a fixed sm_30 miner if this would help as a incentive for your (or anybody else) time...
thank you.

edit: djm34, if you have a roughly idea about which code parameters needs to be changed to fix this, please explain what i should try so i could do a trial/error loop myself until a fix is found. i'm not a software developer, but i've enough programming knowledge to perform simple code read and modifications...

If you just want to "simulate" a lower difficulty in the code then just simply do this in MinerThread.cpp (-> MinerThread::SK1024Miner() function)
            CBigNum target;
            target.SetCompact(m_pBLOCK->GetBits());            
            target.SetCompact(0x7e003fff); //simulate lower difficulty

With this setting my single 750ti "finds" a "block" every couple of seconds. Of course submission will fail but you can check that the mining algo code is working. 
thank you mumus, there are no submission attempts thus confirming the mining code is actually not working...
i've blindly tried to enable SKEIN_ERR_CHECK into hash/skein.h but nothing changed, do you know if there's something that could eventually be tuned in the code that could help fixing it?

Try to lower the const int throughput = 512*8 * 512 * 4; in sk1024.cu, for example to 512* 8 * 512 * 1 or just 512 *  512. Let me know if it worked or not. I'm trying to understand the code and now I'm playing now with another parameter that can be related and it may help. I'm a beginner in cuda coding and I definitely don't understand the code crypto algorithm yet.
unfortunately still no submission attempts, even not with just 512...
It isn't related to the throughput.
I need to rewrite the kernel for skein for compute_30 and I don't have time at the moment to work on that task...

Yes, slowly but I realized that isn't related to any parameter. I've also found one of my old compute_20 card and it doesn't works on it either.
Jump to: