Bitcoin Forum
June 27, 2017, 02:04:56 AM *
News: Latest stable version of Bitcoin Core: 0.14.2  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 131 »
  Print  
Author Topic: [ANN]: cpuminer-opt v3.6.5, open source optimized multi-algo CPU miner  (Read 261322 times)
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 07:35:45 PM
 #1

This is the home of cpuminer-opt, The optimized CPU miner.

cpuminer-opt now supports over 50 algorithms with more than 20 optimized to use
AES_NI, AVX, AVX2 and SHA on capable CPUs.

Source code:

git: https://github.com/JayDDee/cpuminer-opt

tarball: https://drive.google.com/file/d/0B0lVSGQYLJIZYWtaV1YxMV9hWkE/view?usp=sharing

Windows binaries

https://drive.google.com/file/d/0B0lVSGQYLJIZNm55Qjc5emwyU3c/view?usp=sharing

New in v3.6.5

Added jha, jackpot, algo with AES otimizations.
Cryptonight a little faster.

Legacy version 3.5.9.1 May provide better performance on some algos with older CPUs that
don't have AES NI

git clone https://github.com/JayDDee/cpuminer-opt -b legacy

Tarball: https://drive.google.com/file/d/0B0lVSGQYLJIZcDg0d0QzbzJBUDA/view?usp=sharing

Windows Binaries: https://drive.google.com/file/d/0B0lVSGQYLJIZT0tlY3o4ZjEycXM/view?usp=sharing

Errata:

AMD CPUs older than Piledriver, including Athlon x2 and Phenom II x4, are not
supported by cpuminer-opt due to an incompatible implementation of SSE2 on
these CPUs. Some algos may crash the miner with an invalid instruction.
Users are recommended to use an unoptimized miner such as cpuminer-multi.

Solo mining of cryptonight does not work.

Bench stats collection enabled (-p stats) when mining timetravel causes miner to exit after
50 share submissions.

cpuminer-opt does not work mining Decred algo at Nicehash and produces only
"invalid extranonce2 size" rejects.

Benchmark testing does not work for x11evo.

Requirements:

1. A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel
Core2 and newer and AMD equivalents. In order to take advantage of AES_NI
optimizations a CPU with AES_NI is required. This includes Intel Westbridge
and newer and AMD equivalents. Further optimizations are available on some algos
for CPUs with AVX and AVX2, Sandybridge and Haswell respectively.

Older CPUs are supported by cpuminer-multi by TPruvot but at reduced performance.

2. 64 bit Linux OS. Ubuntu and Fedora based distributions, including Mint and Centos are known
to work and have all dependencies in their repositories. Others may work but may require
more effort.

64 bit Windows OS is supported using the pre-compiled binaries package or may be compiled
with mingw_w64 and msys.


Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
1498529096
Hero Member
*
Offline Offline

Posts: 1498529096

View Profile Personal Message (Offline)

Ignore
1498529096
Reply with quote  #2

1498529096
Report to moderator
POLONIEX TRADING SIGNALS
+50% Profit and more via TELEGRAM
ALTCOINTRADER.CO
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1498529096
Hero Member
*
Offline Offline

Posts: 1498529096

View Profile Personal Message (Offline)

Ignore
1498529096
Reply with quote  #2

1498529096
Report to moderator
1498529096
Hero Member
*
Offline Offline

Posts: 1498529096

View Profile Personal Message (Offline)

Ignore
1498529096
Reply with quote  #2

1498529096
Report to moderator
kama
Full Member
***
Offline Offline

Activity: 140


View Profile
January 13, 2016, 07:41:24 PM
 #2

where can we see the sourcecode and download windows binaries ?
also advice from me compile the miner with mingw it makes the miner software more powerfull.

joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 07:50:58 PM
 #3

where can we see the sourcecode and download windows binaries ?
also advice from me compile the miner with mingw it makes the miner software more powerfull.

Thanks kama. The project is just getting off the ground officially, nothing is yet available publicly
or privately.

Source code will be available. I compile Windows with VS and am not inclined to change. But as
I editted in my first post Windows is not guaranteed in the first release. It Depend on how things go.


Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
sp_
Legendary
*
Offline Offline

Activity: 1078

Ccminer developer


View Profile
January 13, 2016, 07:55:23 PM
 #4

You should add it to github.

good work

BTC: 1CTiNJyoUmbdMRACtteRWXhGqtSETYd6Vd
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 08:07:08 PM
 #5

You should add it to github.

good work


Thanks SP. Now if only I could code in cuda. Smiley

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
zTheWolfz
Full Member
***
Offline Offline

Activity: 190

Alpha/Beta Tester


View Profile
January 13, 2016, 09:07:40 PM
 #6

Just checking in. Thread is looking good. I looked threw my collection of CPU miners and everything is pretty old and outdated.
Except the ones you talked about earlier. I'll be reading along and will be ready for this when the time is right, thanks for your support.
I'll have to brush up my Linux skills as most of what I have running at the moment is windows based.
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 09:13:40 PM
 #7

Just checking in. Thread is looking good. I looked threw my collection of CPU miners and everything is pretty old and outdated.
Except the ones you talked about earlier. I'll be reading along and will be ready for this when the time is right, thanks for your support.
I'll have to brush up my Linux skills as most of what I have running at the moment is windows based.

I'm starting to work on compiling on Windows, if it goes well it should b be ready for private beta in a couple of days.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
GKar
Member
**
Offline Offline

Activity: 103


View Profile
January 13, 2016, 09:46:10 PM
 #8

Looking forward to the cpu miner. 
 
I'm willing to help test it.   I've some i-7, I-3, I-5, core 2 computers.
Along with some older various single core Intel & AMD I have sitting here gathering dust. Smiley

Also have a black box AMD FX=8320E 8-core.

Algos I'd like to see are : neos, spread X11, Ethereum and the algo XMG coin uses.

--GKar (former nic was Angora)

joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 10:29:50 PM
 #9

Looking forward to the cpu miner. 
 
I'm willing to help test it.   I've some i-7, I-3, I-5, core 2 computers.
Along with some older various single core Intel & AMD I have sitting here gathering dust. Smiley

Also have a black box AMD FX=8320E 8-core.

Algos I'd like to see are : neos, spread X11, Ethereum and the algo XMG coin uses.

--GKar (former nic was Angora)


I'm comfortable with the testers I have now but thanks for the offer. You shouldn't have to
wait very long for the public release.

You might want to talk to epsylon3 (tpruvot) about new algos, but I think he is more focussed on
his ccminer fork and yiimp pool (busy guy) at the moment.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
theLosers106
Member
**
Offline Offline

Activity: 72


View Profile WWW
January 13, 2016, 10:42:29 PM
 #10

This is interesting. Been trying to make the cpuminers faster myself but never got much done. To busy with other things. If you need help compiling with mingw I could help.

Good luck  Wink

theLosers106.

BTC: 1KnLUyFTyqrMzcNrgACHFEoUtbqQUs8X1Q
XRE: 15RjuCT6T8sF1KkD2MmT4pQvHU8UtSoYXG
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 11:01:38 PM
 #11

I'm having some difficulty compiling on Windows with VS community 2015.

If there is anyone who can help it will speed up Windows support.

I editted  cpuminer.vcxprog with a text editor, not VS's built in editor.
I modelled the changes based on the sources list in Makefile.am,
but I really have no idea what I'm doing.

I added a bunch of entries to this list:

Code:
     <Optimization Condition="'$(Configuration)'=='Release'">Full</Optimization>
    </ClCompile>
    <ClCompile Include="algo\sibcoin.c" />
    <ClCompile Include="algo\skein.c" />
    <ClCompile Include="algo\skein2.c" />
    <ClCompile Include="algo\x11.c" />
    <ClCompile Include="algo\x11_aes.c" />
    <ClCompile Include="algo\x13.c" />
    <ClCompile Include="algo\x13_aes.c" />
    <ClCompile Include="algo\aes-ni\echo512\hash.c" />
    <ClCompile Include="algo\aes-ni\groestl\hash-groestl.c" />
    <ClCompile Include="algo\x14.c" />
    <ClCompile Include="algo\x14_aes.c" />
    <ClCompile Include="algo\x15.c" />
    <ClCompile Include="algo\x15_aes.c" />
    <ClCompile Include="algo\zr5.c" />
    <ClCompile Include="sha3\aes_helper.c">
    <ClCompile Include="algo\sse2x6\bmw.c" />               <------- error here
    <ClCompile Include="algo\sse2\keccak.c" />
    <ClCompile Include="algo\sse2\skein.c" />
    <ClCompile Include="algo\sse2\echo.c" />

I get the following error.: The attribute "Include" in element  </ClCompile> is unrecognized. I've shuffled
the order of the list and it errors on a different file everytime but the same line number.

Any ideas welcome.
    

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
theLosers106
Member
**
Offline Offline

Activity: 72


View Profile WWW
January 13, 2016, 11:09:22 PM
 #12

I'm having some difficulty compiling on Windows with VS community 2015.

If there is anyone who can help it will speed up Windows support.

I editted  cpuminer.vcxprog with a text editor, not VS's built in editor.
I modelled the changes based on the sources list in Makefile.am,
but I really have no idea what I'm doing.

I added a bunch of entries to this list:

Code:
     <Optimization Condition="'$(Configuration)'=='Release'">Full</Optimization>
    </ClCompile>
    <ClCompile Include="algo\sibcoin.c" />
    <ClCompile Include="algo\skein.c" />
    <ClCompile Include="algo\skein2.c" />
    <ClCompile Include="algo\x11.c" />
    <ClCompile Include="algo\x11_aes.c" />
    <ClCompile Include="algo\x13.c" />
    <ClCompile Include="algo\x13_aes.c" />
    <ClCompile Include="algo\aes-ni\echo512\hash.c" />
    <ClCompile Include="algo\aes-ni\groestl\hash-groestl.c" />
    <ClCompile Include="algo\x14.c" />
    <ClCompile Include="algo\x14_aes.c" />
    <ClCompile Include="algo\x15.c" />
    <ClCompile Include="algo\x15_aes.c" />
    <ClCompile Include="algo\zr5.c" />
    <ClCompile Include="sha3\aes_helper.c">
    <ClCompile Include="algo\sse2x6\bmw.c" />               <------- error here
    <ClCompile Include="algo\sse2\keccak.c" />
    <ClCompile Include="algo\sse2\skein.c" />
    <ClCompile Include="algo\sse2\echo.c" />

I get the following error.: The attribute "Include" in element  </ClCompile> is unrecognized. I've shuffled
the order of the list and it errors on a different file everytime but the same line number.

Any ideas welcome.
    

Just wondering if the folder's name sse2x6 correct?

BTC: 1KnLUyFTyqrMzcNrgACHFEoUtbqQUs8X1Q
XRE: 15RjuCT6T8sF1KkD2MmT4pQvHU8UtSoYXG
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 13, 2016, 11:40:21 PM
 #13

I'm having some difficulty compiling on Windows with VS community 2015.

If there is anyone who can help it will speed up Windows support.

I editted  cpuminer.vcxprog with a text editor, not VS's built in editor.
I modelled the changes based on the sources list in Makefile.am,
but I really have no idea what I'm doing.

I added a bunch of entries to this list:

Code:
     <Optimization Condition="'$(Configuration)'=='Release'">Full</Optimization>
    </ClCompile>
    <ClCompile Include="algo\sibcoin.c" />
    <ClCompile Include="algo\skein.c" />
    <ClCompile Include="algo\skein2.c" />
    <ClCompile Include="algo\x11.c" />
    <ClCompile Include="algo\x11_aes.c" />
    <ClCompile Include="algo\x13.c" />
    <ClCompile Include="algo\x13_aes.c" />
    <ClCompile Include="algo\aes-ni\echo512\hash.c" />
    <ClCompile Include="algo\aes-ni\groestl\hash-groestl.c" />
    <ClCompile Include="algo\x14.c" />
    <ClCompile Include="algo\x14_aes.c" />
    <ClCompile Include="algo\x15.c" />
    <ClCompile Include="algo\x15_aes.c" />
    <ClCompile Include="algo\zr5.c" />
    <ClCompile Include="sha3\aes_helper.c">
    <ClCompile Include="algo\sse2x6\bmw.c" />               <------- error here
    <ClCompile Include="algo\sse2\keccak.c" />
    <ClCompile Include="algo\sse2\skein.c" />
    <ClCompile Include="algo\sse2\echo.c" />

I get the following error.: The attribute "Include" in element  </ClCompile> is unrecognized. I've shuffled
the order of the list and it errors on a different file everytime but the same line number.

Any ideas welcome.
    

Just wondering if the folder's name sse2x6 correct?

It's not the first time I've been blind, many thanks.

Update: No joy. I still get the same error. I was suspicious about th etypo becase I did double check everything,
my editor has been acting up so I may have messed up the line without realizing. I confirmed with the VS editor
that it was using the right file, the line looks just like every other (asfter deleting "x6" and I confirmed the file is present.

Windows support may have to wait.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 14, 2016, 12:06:59 AM
 #14

I'm looking for opinions on how to handle incompatible CPUs, during the test phase and then the first release

There are two parts to this issue. First is whether the CPU has AES_NI and the second is whether
cpuminer is compiled for that architecture. it's a biggger issue on Windows where the builds are
portable. I hope MS builds to support multiple architectures and select the best one at run time.
When multiple architectures are supported in cpuminer it is my intention to do exactly that.

But for the time being it only support ASES_NI so...

For the first part I'm considering 4 options.

1. If the CPU doesn't support AES_NI exit.
      probably most likely for the release

2. Damn the torpedos full speed ahead
      My preferred choice during testing

3. Add a comand line prompt to choose 1 or 2
        will become obsolete when more architectures are supported
        would probably delay the test release

4. Add a user prompt at startup
       This would require the work in 3 as well additional work to add a yes/no prompt and
       expand the new command line option for 3 choices if an incompatibility is found: Exit, Continue,
       or Prompt(default). This has all the cons of 3 but more so.

I'm not interested in poll, I prefer the reasons for the choice. And of course the beta testers can get what
they want.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
Wolf0
Legendary
*
Offline Offline

Activity: 1610


Miner Developer


View Profile
January 14, 2016, 12:24:45 AM
 #15

I'm looking for opinions on how to handle incompatible CPUs, during the test phase and then the first release

There are two parts to this issue. First is whether the CPU has AES_NI and the second is whether
cpuminer is compiled for that architecture. it's a biggger issue on Windows where the builds are
portable. I hope MS builds to support multiple architectures and select the best one at run time.
When multiple architectures are supported in cpuminer it is my intention to do exactly that.

But for the time being it only support ASES_NI so...

For the first part I'm considering 4 options.

1. If the CPU doesn't support AES_NI exit.
      probably most likely for the release

2. Damn the torpedos full speed ahead
      My preferred choice during testing

3. Add a comand line prompt to choose 1 or 2
        will become obsolete when more architectures are supported
        would probably delay the test release

4. Add a user prompt at startup
       This would require the work in 3 as well additional work to add a yes/no prompt and
       expand the new command line option for 3 choices if an incompatibility is found: Exit, Continue,
       or Prompt(default). This has all the cons of 3 but more so.

I'm not interested in poll, I prefer the reasons for the choice. And of course the beta testers can get what
they want.


AES function pointer - call CPUID, one AND, and one compare against zero. If true, function pointer = AES-NI one, else slow AES.

Code:
Donations: BTC: 1WoLFdwcfNEg64fTYsX1P25KUzzSjtEZC -- XMR: 45SLUTzk7UXYHmzJ7bFN6FPfzTusdUVAZjPRgmEDw7G3SeimWM2kCdnDQXwDBYGUWaBtZNgjYtEYA22aMQT4t8KfU3vHLHG
Elun
Member
**
Offline Offline

Activity: 117


View Profile
January 14, 2016, 01:11:12 AM
 #16

I'm having some difficulty compiling on Windows with VS community 2015.

If there is anyone who can help it will speed up Windows support.

I editted  cpuminer.vcxprog with a text editor, not VS's built in editor.
I modelled the changes based on the sources list in Makefile.am,
but I really have no idea what I'm doing.

I added a bunch of entries to this list:

Code:
     <Optimization Condition="'$(Configuration)'=='Release'">Full</Optimization>
    </ClCompile>
    <ClCompile Include="algo\sibcoin.c" />
    <ClCompile Include="algo\skein.c" />
    <ClCompile Include="algo\skein2.c" />
    <ClCompile Include="algo\x11.c" />
    <ClCompile Include="algo\x11_aes.c" />
    <ClCompile Include="algo\x13.c" />
    <ClCompile Include="algo\x13_aes.c" />
    <ClCompile Include="algo\aes-ni\echo512\hash.c" />
    <ClCompile Include="algo\aes-ni\groestl\hash-groestl.c" />
    <ClCompile Include="algo\x14.c" />
    <ClCompile Include="algo\x14_aes.c" />
    <ClCompile Include="algo\x15.c" />
    <ClCompile Include="algo\x15_aes.c" />
    <ClCompile Include="algo\zr5.c" />
    <ClCompile Include="sha3\aes_helper.c">
    <ClCompile Include="algo\sse2x6\bmw.c" />               <------- error here
    <ClCompile Include="algo\sse2\keccak.c" />
    <ClCompile Include="algo\sse2\skein.c" />
    <ClCompile Include="algo\sse2\echo.c" />

I get the following error.: The attribute "Include" in element  </ClCompile> is unrecognized. I've shuffled
the order of the list and it errors on a different file everytime but the same line number.

Any ideas welcome.
    

Just wondering if the folder's name sse2x6 correct?

It's not the first time I've been blind, many thanks.

Update: No joy. I still get the same error. I was suspicious about th etypo becase I did double check everything,
my editor has been acting up so I may have messed up the line without realizing. I confirmed with the VS editor
that it was using the right file, the line looks just like every other (asfter deleting "x6" and I confirmed the file is present.

Windows support may have to wait.

Look for example at this line:
<ClCompile Include="algo\zr5.c" />
and this line one more time:
<ClCompile Include="sha3\aes_helper.c">

Looks like you forgot self closing "/" before ">" in line with "sha3\aes_helper.c"

BTC: 1BEwra7RRPtkh8TbPLPVtNMfxgcW2udKph
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 14, 2016, 01:16:03 AM
 #17


AES function pointer - call CPUID, one AND, and one compare against zero. If true, function pointer = AES-NI one, else slow AES.

Hi Wolf0, thanks for contributing.

I've got the capabilities check working has_aes-ni() already existed and I wrote has_sse2. I'm now trying to get cpuid working to see
if I can display the actual cpu model.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 14, 2016, 01:58:04 AM
 #18


Look for example at this line:
<ClCompile Include="algo\zr5.c" />
and this line one more time:
<ClCompile Include="sha3\aes_helper.c">

Looks like you forgot self closing "/" before ">" in line with "sha3\aes_helper.c"

There was a lot wrong with that file, some of it was me and some of it was editpad++.
I'm starting fresh.

Edit: It's loaded now.  I made minimal edits and avoided moving things around. I should have known
better than to get too adventurous with MS. Thanks again for your keen eye.

Edit2: 479 errors on first compile. An this is code that compiles flawlessly on Linux. Obviously Windows
support is out for the beta. Maybe I'll get it working in time for the release.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
joblo
Legendary
*
Offline Offline

Activity: 798


View Profile
January 14, 2016, 03:48:39 AM
 #19

While waiting until I downgrade to VS 2013 let me indulge myself as I ramble on about who I am.

I'm a 58 year old computer geek who was laid off with a good severence package 8 years ago less than
a year before the company went bankrupt.

My education is somewhat limited, just a 3 year computer science diploma. In my final year in college
I and 2 other team members wrote an assembler for a microprosessor board that didn't have one.
It had no keyboard or display interface just an rs-232 serial port. So we had to write the assembler
twice on two different processor architectures. My teammate had an Apple 2e and it could connect
to the serial port and talk to the monitor program. It also had some rudimantary file transfer capability
so off we went. We got it done on tie with only one real all-nighter which was more by choice than
necessity. We were among the few that attended class or stayed awake in class the last week before
the formal project demonstration week. We actually had a live demo where we uploaded source code
to the board comlied it and executed it. And it worked. For a bit of humour we even deliberately
left a coding error so we could show the eror handling capability. They we all three graduated and
ended up at the same company, although at different times and in different departments. The same
company that went bankrupt after giving me a golden parachute. Ifeel sorry for the people layed off
after me because the company started cutting back on the packages. Then they declared bankruptcy
and all severance packages were taken off the table. They even reduced pension benefits to past
employees A real shame.

The proprietary system I worked on used Motorola 68k, 88k and powerpc cpus. I was most familiar with
the unpopular 88k. My claim to fame was discovering a bug in the branch prediction which ironically
improved performance once it was disabled. Apparently the BP conflicted with a compiler optimization
even if it had been working properly. The 88k, Moto's first venture into RISC, however, was short lived.

The software system was an integrated development system consisting of a run time real time operating system,
it's applications, a Linux based (originally IBM mainframe) multi-site program and documentation library,
and compiler all written in and for a proprietary high level language with similarities (ie strict type checking) with Pascal.
I really learned to love the language and it has some great features, with OO added later. One of my favorite quirks
in the language was the guzinta: "->". This is unlike similar c++ operator. It is the assigment operator
and works like this:  "value -> variable;".  Some of your may recognize it.

it had some important features like not defining the null pointer as 0. nul always pointed off to invalid address high
up in the address space. Address 0 was also invalid and would throw an exception if accessed. The languange
also had array index protection built into the compiler. An index out of range also would throw an exception.
There was also a built in data structure (nice to own your own compiler) called a descriptor that was essentially
a pointer to an array. It also had index protection. c++ probably has a class similar to the descriptor but without
index protection. That feature alone made the system so much more resilient to memory corruption and easier
to debug, but most importantly the concept of a buffer overflow did not exist. The compiler would not allow it.
Imagine how many fewer exploits there would have been had c/c++ had such protection (at a slight performance
cost).

I've never done any Linux or c++ development although I had some exposure to c++ at work. Many of the concepts
are so different that what I am familiar with and that slows me down a lot. I've used HP-UX, solaris and linux as
desktop workstations at work and used linux at home since Redhat 5.2.

Although I'm comfortable with assembly code I haven't touched Intel since the 8000 series. That will make the assembly
language files tough to work with. I have a couple of optimization thechniques I've used in the past but they require
intimate knowledge of the Intel architecture such as memory interface, cache organization, execution environment,
instruction issue and retirement throughput, and things I'm probably not aware exist. I have a lot to learn, but that's why
I'm here.

I know nothing about cryptographic algorithms so don't expect me to code new algos. I'll leave that up to others.

I had heard of Bitcoin but didn't get involved until very late (too late) in the darkcoin frenzy in April 2014. I started
with just one CPU but unknown to me at the time ASICS had taken over bitcoin and scrypt was next. And GPUs were taking
over the altcoin algos. I bought a gt730, a nice little card that performed on par with my i7-4790K. I bought a 750ti shortly
after that and a few other cards since then.

Well that's how I got here. I'm bored with lots of time on my hands so I've been poking around at miner code here and there.
I'm even less familiar so I took a shot with a cpuminer and was surprised. It is a credit to Pooler's design that I was able to
pull together code from 3 different miners and make it work smoothly and efficiently in a short time.

VS is still installing but I think it's time for a break.

I must be getting tired I just tried to post this to the wrong thread. I giess i don't have the stamina I did 25 years ago.

Thanks for reading and taking an interest in my project.

Principal developer of cpuminer-opt, the optimized multi-algo CPU miner.
BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT
https://bitcointalk.org/index.php?topic=1326803.0
theLosers106
Member
**
Offline Offline

Activity: 72


View Profile WWW
January 14, 2016, 04:04:01 AM
 #20

While waiting until I downgrade to VS 2013 let me indulge myself as I ramble on about who I am.

I'm a 58 year old computer geek who was laid off with a good severence package 8 years ago less than
a year before the company went bankrupt.

The proprietary system I worked on used Motorola 68k, 88k and powerpc cpus. I was most familiar with
the unpopular 88k. My claim to fame was discovering a bug in the branch prediction which ironically
improved performance once it was disabled. Apparently the BP conflicted with a compiler optimization
even if it had been working properly. The 88k, Moto's first venture into RISC, however, was short lived.

The software system was an integrated development system consisting of a run time real time operating system,
it's applications, a Linux based (originally IBM mainframe) multi-site program and documentation library,
and compiler all written in and for a proprietary high level language with similarities (ie strict type checking) with Pascal.
I really learned to love the language and it has some great features, with OO added later. One of my favorite quirks
in the language was the guzinta: "->". This is unlike similar c++ operator. It is the assigment operator
and works like this:  "value -> variable;".  Some of your may recognize it.

it had some important features like not defining the null pointer as 0. nul always pointed off to invalid address high
up in the address space. Address 0 was also invalid and would throw an exception if accessed. The languange
also had array index protection built into the compiler. An index out of range also would throw an exception.
There was also a built in data structure (nice to own your own compiler) called a descriptor that was essentially
a pointer to an array. It also had index protection. c++ probably has a class similar to the descriptor but without
index protection. That feature alone made the system so much more resilient to memory corruption and easier
to debug, but most importantly the concept of a buffer overflow did not exist. The compiler would not allow it.
Imagine how many fewer exploits there would have been had c/c++ had such protection (at a slight performance
cost).

I've never done any Linux or c++ development although I had some exposure to c++ at work. Many of the concepts
are so different that what I am familiar with and that slows me down a lot. I've used HP-UX, solaris and linux as
desktop workstations at work and used linux at home since Redhat 5.2.

Although I'm comfortable with assembly code I haven't touched Intel since the 8000 series. That will make the assembly
language files tough to work with. I have a couple of optimization thechniques I've used in the past but they require
intimate knowledge of the Intel architecture such as memory interface, cache organization, execution environment,
instruction issue and retirement throughput, and things I'm probably not aware exist. I have a lot to learn, but that's why
I'm here.

I know nothing about cryptographic algorithms so don't expect me to code new algos. I'll leave that up to others.

I had heard of Bitcoin but didn't get involved until very late (too late) in the darkcoin frenzy in April 2014. I started
with just one CPU but unknown to me at the time ASICS had taken over bitcoin and scrypt was next. And GPUs were taking
over the altcoin algos. I bought a gt730, a nice little card that performed on par with my i7-4790K. I bought a 750ti shortly
after that and a few other cards since then.

Well that's how I got here. I'm bored with lots of time on my hands so I've been poking around at miner code here and there.
I'm even less familiar so I took a shot with a cpuminer and was surprised. It is a credit to Pooler's design that I was able to
pull together code from 3 different miners and make it work smoothly and efficiently in a short time.

VS is still installing but I think it's time for a break.

I must be getting tired I just tried to post this to the wrong thread. I giess i don't have the stamina I did 25 years ago.

Thanks for reading and taking an interest in my project.


Good read (:


BTC: 1KnLUyFTyqrMzcNrgACHFEoUtbqQUs8X1Q
XRE: 15RjuCT6T8sF1KkD2MmT4pQvHU8UtSoYXG
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ... 131 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!