Author

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

hero member
Activity: 820
Merit: 1000
paulthetafy,

The reasons for this segmentation fault is that I am modifying the Block pointer each thread contains by the connection thread, and sometimes they go out of sync. This can be fixed with a faster autoptr or even using more sophisticated locks than my boolean flags.

I'll get to fixing this, I'm thinking for now I'll just release another code base that has one connection per thread, which would eliminate this issue. The Mining LLP can definitely handle it.

As to your question, you'll see in the main function when the Server Connection is declared, it has an argument for how many threads. The Mining Thread class is then instantiated in a vector to the quantity you declare with the commandline arguments that is passed into the Server Connection class constructor. The connection class [with a bound thread] then handles each of the mining threads, modifying the flags if a new block is found on the network, or submitting blocks if the thread sets its fBlockFound flag. This is the optimal way I would like to do it, but will take a little more time with the proper locking techniques to eliminate the segmentation fault [which comes from accessing a memory location not allocated by the operating system for that specified process].

Thank You,
Viz.


Thanks Viz, I'll see if I can put a simple mutex in to synchronize access to the BLOCK between the threads.  If I get that working I'll shoot you the update. 

Still not sure I understand how each thread is not doing the same "work" though.  Are they looking for different nonce's??
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
paulthetafy,

The reasons for this segmentation fault is that I am modifying the Block pointer each thread contains by the connection thread, and sometimes they go out of sync. This can be fixed with a faster autoptr or even using more sophisticated locks than my boolean flags.

I'll get to fixing this, I'm thinking for now I'll just release another code base that has one connection per thread, which would eliminate this issue. The Mining LLP can definitely handle it.

As to your question, you'll see in the main function when the Server Connection is declared, it has an argument for how many threads. The Mining Thread class is then instantiated in a vector to the quantity you declare with the commandline arguments that is passed into the Server Connection class constructor. The connection class [with a bound thread] then handles each of the mining threads, modifying the flags if a new block is found on the network, or submitting blocks if the thread sets its fBlockFound flag. This is the optimal way I would like to do it, but will take a little more time with the proper locking techniques to eliminate the segmentation fault [which comes from accessing a memory location not allocated by the operating system for that specified process].

Thank You,
Viz.
hero member
Activity: 820
Merit: 1000
Testing out the miner on ubuntu 14.  It ran for about 30 seconds, found 3 blocks, and then core dumped...

[MASTER] Prime Cluster of Difficulty 2.751979 Found on Thread 1

fb2c2f81e09ddc5950b6aa22d78ba21bfbd303605e84e7bfe452db177e5d9bd216375d992f1b8f7 c1aff7353833a321a53a9b38889d1294b82a34fb67e2ba7eeb4641bc34d7a02558bd5cb676b1dd5 29edc3f4eba0b7b346b739ea6402263026da0dccc925fff43a996d82bf3c026da92bc443e343dda 11e32b815b92ec2aff0

[MASTER] Block Accepted By Coinshield Network.
[MASTER] Coinshield Network: New Block 18653
[METERS] 13502.666667 SPS | 20.333333 PPS | Height = 18653
[METERS] 19279.333333 SPS | 29.500000 PPS | Height = 18653
[METERS] 19146.333333 SPS | 29.666667 PPS | Height = 18653
Segmentation fault (core dumped)

It was built from source.


Viz, Technical question for you, (and probably a glaringly obvious answer too), I'm looking through the primeminer source and I can't see where each thread is doing different work to the next.  Or where any element of randomness comes in??

Thanks
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Well, you said you haven't compiled for a long time, so don't be too hard on yourself  Smiley

Viz.

edit: Great to hear! To start it you'll need commandline arguments, I usually use alias miner='/home/viz/coinshield-cpuminer/coinshield_prime 127.0.0.1 4447' if you want to control the threads and timeout yourself the next two arguments would be that such as 127.0.0.1 4447 3 10 which would be 3 threads, and 10 second timeout.
hero member
Activity: 799
Merit: 1000
seems i'm turning dyslexic had the all-dev around the wrong way.

Edit: compiled fine after that Smiley

Thanks!
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io

Everyone,

I'm going to run a couple small tests tonight before I release the Launch Binaries. I will post them tomorrow morning as soon as I wake up.
I'm breaking the Launch into 3 phases, one for each Channel.

Phase 1: CPU Channel Activation:  9/23/2014 12:00:00 GMT - 6
Unix Timestamp: 1411495200

Phase 2: GPU Channel Activation:  10/7/2014 12:00:00 GMT - 6
Unix Timestamp: 1412704800

Phase 3: POS Channel Activation: 10/21/2014 12:00:00 GMT - 6
Unix Timestamp: 1413914400

This will allow more stimulation in development for the GPU Miner, hopefully we can get some people together to get a stable AMD and NVIDIA miner. There will be bounties available to go directly to GPU Miner development. Bitslapper and I will be working on the AMD version while I am hoping to get some people to help build the NVIDIA version.

Please contact me if you have any experience / desire to help in the Coinshield Revolution.

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

merc84,

Try this command to install boost 1.54:
sudo apt-get install libboost-all-dev

Make sure you have the compiler installed as well:
sudo apt-get install build-essential

And for OpenSSL:
sudo apt-get install libssl-dev

Let me know if this works   Smiley

Viz.

hero member
Activity: 799
Merit: 1000
Trying to compile on ubuntu 13.10 (its been a while i'm very rusty)
hash/skein.cpp:752:5: fatal error: opening dependency file build/skein.d: No such file or directory
already installed skein package via "apt-get install libghc-skein-dev"
any help appreciated.

You don't need the Skein package from Ubuntu, it is included in src/hash.

Add the folder build in the directory of makefile.unix, make sure you have openssl and boost installed. The problem I am seeing is that the folder build is not being created. I will fix that, thank you for letting me know.

Viz.

/usr/bin/ld: cannot find -lboost_system
/usr/bin/ld: cannot find -lboost_filesystem
/usr/bin/ld: cannot find -lboost_program_options
/usr/bin/ld: cannot find -lboost_thread
collect2: error: ld returned 1 exit status
make: *** [coinshield_prime] Error 1

ubuntu@ubuntu:~$ sudo apt-get install libboost-dev-all
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libboost-dev-all

I install libbost-dev but it is perhaps missing needed packages?

legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Trying to compile on ubuntu 13.10 (its been a while i'm very rusty)
hash/skein.cpp:752:5: fatal error: opening dependency file build/skein.d: No such file or directory
already installed skein package via "apt-get install libghc-skein-dev"
any help appreciated.

You don't need the Skein package from Ubuntu, it is included in src/hash.

Add the folder build in the directory of makefile.unix, make sure you have openssl and boost installed. The problem I am seeing is that the folder build is not being created. I will fix that, thank you for letting me know.

Viz.
hero member
Activity: 799
Merit: 1000
Trying to compile on ubuntu 13.10 (its been a while i'm very rusty)
hash/skein.cpp:752:5: fatal error: opening dependency file build/skein.d: No such file or directory
already installed skein package via "apt-get install libghc-skein-dev"
any help appreciated.
sr. member
Activity: 518
Merit: 275
If you fail...just dont fail again
Website has been updated. Homepage is better organized : http://coinshield.io   Smiley

Please register if you have not done so: http://CoinShieldTalk.com

There are new petitions which require votes.

If you are holding a coin you believe to be shit please submit a petition to have us open an exchange channel for it. This will help you get into the green when you're in the red. The days of backing shitcoins (coins that you deem shit) to try to recover some of your losses are finally over.

Additionally you can now protect the source code of non shitcoins. If you believe a coin is not a shitcoin please submit a petition to get it Coinshield verified. When a coin becomes Coinshield verified the Coinshield community will help keep the value of any clone down to a minimum. No more profits for developers who only copy and paste code together.

Please help spread the word about us.

Thanks,
KryptoKash
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Thanks for the reply, appreciate it Smiley

Doing my best to help everyone get involved that wants to  Smiley

Thank You,
Viz.

currently downloading mingw-x64 and setting up a x64 build environment.
hero member
Activity: 799
Merit: 1000
Thanks for the reply, appreciate it Smiley
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Yes I completely agree; I will do my best to get a 64 bit binary compiled by tomorrow, but do realize there are a lot of things I must coordinate, and I am currently the only person coordinating.

Thank You,
Viz.
hero member
Activity: 799
Merit: 1000
It would seem unfair to those who can't compile their own binaries that there would be no 64bit version at launch. There is a massive gap between performance from 32bit to 64bit when searching for primes.
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
Here are compiled binaries for the CPU Prime Miner [x64 coming soon]:

I'll get to that post-launch. In the meantime anyone is always welcome to compile one from my Github  Smiley

Concentrating on a stable launch before mining optimizations
Viz.
hero member
Activity: 799
Merit: 1000
Will 64bit binary be available at launch, as for prime search 64bit is generally ALOT faster than 32bit.
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
any bounty for a opensource gpu miner?

Yes, but this will not be immediately available [with there being no pre-mine]. There is a development fund outlined in Decay Equation #3 for just this Purpose [so bounties will be given out + 1 or 2 days post-launch]. Currently Bitslapper or whoever else contributes to that development will be the ones receiving that bounty. If you are interested in contributing [or know anyone who is], PM me or send an e-mail to [email protected].

Thank You,
Viz.
hero member
Activity: 672
Merit: 500

Actually, I spent quite a bit of time designing the multiple channels to only recieve 50% of the total supply, CPU miners get exactly half, GPU miners get exactly half. This should reduce the impact any private GPU miners could have on the everyday CPU miners, the second factor will be a continually updated public GPU miner.

Making some final touches, will be releasing launch binaries tonight with a time-lock for tomorrow at noon. Depending on the level of GPU miner development, I will have a time-lock on the GPU channel [for a given time post-launch, hopeful for the time-lock to be tomorrow] which will reject all GPU blocks until that time. Once the channel becomes active, the CSD Released Reserve will be given to that channel in pieces for the time it was dormant, or in other words: no matter when the GPU channel launches, GPU miners will receive the same amount of CSD from the Main Net Time-Lock as the CPU Miners, and this will be broken into ~63 CSD chunks for wider spread distribution.

Viz.

we need to think in terms of practically fair  Smiley

any bounty for a opensource gpu miner?
legendary
Activity: 868
Merit: 1058
Creator of Nexus http://nexus.io
http://bit.ly/Zonumm

0 days 21 hours 53 minutes 42 seconds

Launch binaries will be released tonight, blocks will begin to be accepted at this time-lock which is hard coded into Coinshield Core.

Viz.
hero member
Activity: 546
Merit: 500
So when exactly will CoinShield be launching?
Jump to: