+- +-
Say hello if visiting :) by Gecko
11 Jan 2023, 07:43:05 pm

Seti is down again by Mike
09 Aug 2017, 10:02:44 am

Some considerations regarding OpenCL MultiBeam app tuning from algorithm view by Raistmer
11 Dec 2016, 06:30:56 am

Loading APU to the limit: performance considerations by Mike
05 Nov 2016, 06:49:26 am

Better sleep on Windows - new round by Raistmer
26 Aug 2016, 02:02:31 pm

Author Topic: How to make your own optimized Seti@Home client for Windows  (Read 15001 times)

Offline Simon

  • Ni!
  • Knight who says 'Ni!'
  • *****
  • Posts: 1045
    • Is it a bird? Is it a plane? No...its-the.net!
Hi,

you can find this How-To in the Articles section - here's a direct link:

How to make your own optimized Seti@Home client for Windows.

Please post about your success or failure using it!

Good luck,
Simon
« Last Edit: 28 Jun 2006, 02:53:01 am by Simon »

Gazzalodi

  • Guest
Re: How to make your own optimized Seti@Home client for Windows
« Reply #1 on: 28 Jun 2006, 06:52:10 pm »
Hi Simon,  tried my first compiling.  I have the following installations:

System - P4 2.6Ghz (HT disabled), 512Meg.

MS VS.net 2003

Building from:  e:\Documents and Settings\me\My Documents\Visual Studio Projects\boincstuff\seti-19.1\client\

Intel C++ compiler 9.1, MKL 8.1, IPP 5.1

Your source downloaded at approx 2200GMT today.

-------

When compiling I receive the following:
..\analyzeFuncs.cpp(70):  catastrophic error: could not open source file "ipp_w7.h"

I have checked all my includes and do not see an ipp_w7.h anywhere.

In my IPP\5.1\ia32\include directory I have 17 files, none are the ipp_w7.h though. 

Is there someplace else this would be?  I find references to it online but can't find a reference to where I should be seeing it.

I receive about 50 other warning, but only this one one failure.

Thanks,
Dave

Offline Simon

  • Ni!
  • Knight who says 'Ni!'
  • *****
  • Posts: 1045
    • Is it a bird? Is it a plane? No...its-the.net!
Re: How to make your own optimized Seti@Home client for Windows
« Reply #2 on: 28 Jun 2006, 07:06:08 pm »
I just found out that the trial versions of IPP for Windows (and only IPP) don't include redistributable files at all - so that ipp_w7.h is not the only thing missing from them, sadly. Since I do have other licenses installed, I did not check that too closely. It looked complete when I installed it once to test, and they said it's the same - well, it isn't. Depending on what license file you use to install IPP, different things get installed. There is a way to get the files out of the installer, but that's probably not legal.

So this will make it difficult for people to compile on Windows I'm afraid (unless they get an IPP license, that is).

I'm almost done with my letter to Intel - I still cannot understand why they offer non-commercial tools for Linux, but not Windows. I'll put that in there as well.

Regards,
Simon.
« Last Edit: 28 Jun 2006, 07:09:47 pm by Simon »

Gazzalodi

  • Guest
Re: How to make your own optimized Seti@Home client for Windows
« Reply #3 on: 28 Jun 2006, 11:17:20 pm »
Alright!  Got it compiled and received strongly similar results on the rescmp check. 

Times:

Optimized:  17:13

Standard:  32:32

I think it's a keeper.

Computer:  Pentium 4,  Northwood 2.60, HT disabled.  512Meg  DC mem.


Offline Simon

  • Ni!
  • Knight who says 'Ni!'
  • *****
  • Posts: 1045
    • Is it a bird? Is it a plane? No...its-the.net!
Re: How to make your own optimized Seti@Home client for Windows
« Reply #4 on: 28 Jun 2006, 11:23:51 pm »
Good work!

What did you change to get past the error?

Gazzalodi

  • Guest
Re: How to make your own optimized Seti@Home client for Windows
« Reply #5 on: 29 Jun 2006, 05:50:18 am »
Well, actually, I think the initial install was the same as yours, I had the Linux license and was running them out of a common folder...  My Windows issue was just that your IPP version is 5.0 and mine is 5.1, I didn't notice that in the path statements at first.  Once I changed it, everything went like clockwork.

Will compile MMX and SSE this evening and let you know how that goes too.

Cheers and Thanks again!

Dave

Gazzalodi

  • Guest
Re: How to make your own optimized Seti@Home client for Windows
« Reply #6 on: 29 Jun 2006, 09:32:35 pm »
Okay, first the good news.  SSE and MMX compiled and tested good:

Same computer as before -

SSE - 18:16

MMX -  20:27

Stock - 36:29

All results were strongly similar.

Now the bad news.

I compiled and tested on the P4.  However when I moved each new executable to their prospective production machines (P3 for SSE, Celeron for MMX) they errored out with the following:

Unrecoverable error for result xxxxxxx (There are no child processes to wait for (0x80) - exit code 128 (0x80))

Not sure what I did wrong.  Each had the appropriate app_info.xml in the directory with them.   I continuted to see the error when I rolled back to stock.  I had to reset the projects for each to recover.

Both computers are crunching stock again.  I am going to go through everything again, just to make sure I don't have another typo issue like I did in compiling.  I have a few more P3's and an Athlon XP running stock, I'll give another try tomorrow after I clear the cache on one of those.

Have you seen this error before?  Is it something that should be obvious that I'm missing.  Nothing is too basic for me to check, I am quite capable of screwing up anything.

-----

On SSE2.  I have it running successfully on the following:

P4, Northwood 2.6 (HT turned off).
P4, Prescott 3.2 (HT on)
P4, Prescott 3.0 (HT on)
P4, Northwood 2.4 (HT on)
Pentium D 2.66

A second Pentium D 2.66 is running stock so I can get a real world feel for the performance difference over a range of WUs.

Oh and I saw where you picked up a 2.66 from the local computer store.  Not sure how the shipping would work.. But I have built 3 PD 2.66's over the past week getting parts from newegg for around a total 300 each.  Each build consisted of proc, mobo, memory, case and hd.  Would definately recommend newegg if you are looking for another test machine.  I see a lot of these in my future, especially when they drop to around 80 bucks after conroe comes out.

Cheers,
Dave

Offline Simon

  • Ni!
  • Knight who says 'Ni!'
  • *****
  • Posts: 1045
    • Is it a bird? Is it a plane? No...its-the.net!
Re: How to make your own optimized Seti@Home client for Windows
« Reply #7 on: 29 Jun 2006, 10:05:04 pm »
Thanks for the suggestions - but don't forget I live in Europe, and most dealers like Newegg don't ship here or only very slowly and at high cost. Also, I got some Corsair XMS2 instead of generic RAM, which is an added cost of around 40 bucks.

Also, regrettably in Europe dollar prices translate into the same price in Euros (even though a Euro is currently worth ~1.20 USD) because of VAT (value added tax), which is 20% where I live.

So the prices I got here at the local dealer were still more than I could have gotten using a local online shop, but I'd have had to wait a week or more for the parts, maybe even spread the order to more than one. It all boils down to me being able to walk into the store and get a replacement inside an hour or inside a couple of weeks, basically :) To me, that's worth a few extra bucks.

About the SSE errors - I've had similar things happen on Linux, but not Windows, but then I haven't yet tested SSE/MMX on Windows. I think there might be an extra setting necessary, but haven't found out exactly what yet. Currently I'm testing an SSE Linux build.

Before you start testing things with BOINC, it's always a good idea to just run your new client from the command line first on the computer in question. It'll tell you about errors there, so you know whether you should even fire up BOINC or not.

I'd recommend installing the development stuff on the P3 and just compiling it there. That's what I did for Linux, and suddenly it worked. Worth a shot even if it's a bother to reinstall your stuff elsewhere.

Regards,
Simon.
« Last Edit: 29 Jun 2006, 10:09:15 pm by Simon »

Gazzalodi

  • Guest
Re: How to make your own optimized Seti@Home client for Windows
« Reply #8 on: 30 Jun 2006, 09:01:43 pm »
I'll definately remember to test is before going live next time.

Now for something a little different.  I think I saw that you did a SSE3 build and an EMT64 build.  Is that correct?

If so I was just wondering if you did an SSE3 on EMT64 build to see if the combination of them provided any speed boost.

I have a beta of Win64 laying around somewhere and way toying with that idea, but figured I would check with you first to see if you might have tried it already.

Cheers,
Dave

Offline Simon

  • Ni!
  • Knight who says 'Ni!'
  • *****
  • Posts: 1045
    • Is it a bird? Is it a plane? No...its-the.net!
Re: How to make your own optimized Seti@Home client for Windows
« Reply #9 on: 30 Jun 2006, 09:46:02 pm »
Yes,

I've already tried both. SSE3 hasn't given me any speed boost at all, and I have not been able to get a 64-bit version to compile - I keep getting errors like "Target machine type AMD64 is incompatible with module machine type X86".

I'm also interested in how a 64-bit version would compare but haven't had more time to get it to work yet.

Hope that helped,
Simon.

BORG

  • Guest
Re: How to make your own optimized Seti@Home client for Windows
« Reply #10 on: 05 Aug 2006, 01:47:14 pm »
Simon

I've tried 3 times to compile a P3 client. None of which would pass the test.

What I'm I doing wrong?

Command lIne entries are
/fp:fast /Qprec-div- /Qprec-sqrt- /Qipo4 /QxK

Also under preprocessor I have 

USE_IPP
USE_SSE
WIN32
_WIN32
_MT
NDEBUG
_WINDOWS
CLIENT
_CONSOLE


Offline Vyper

  • Alpha Tester
  • Knight Templar
  • ***
  • Posts: 376
Re: How to make your own optimized Seti@Home client for Windows
« Reply #11 on: 06 Aug 2006, 04:54:22 pm »
Yes,

I've already tried both. SSE3 hasn't given me any speed boost at all, and I have not been able to get a 64-bit version to compile - I keep getting errors like "Target machine type AMD64 is incompatible with module machine type X86".

I'm also interested in how a 64-bit version would compare but haven't had more time to get it to work yet.

Hope that helped,
Simon.

Have you downloaded the IPP package for EM64T.. It said that it wasn't required to use Vision 2005 , i think you can use 2003 version and still compile EM64T through settings for the compilation..

Just a thought..

//Vyper

Offline Vyper

  • Alpha Tester
  • Knight Templar
  • ***
  • Posts: 376
Re: How to make your own optimized Seti@Home client for Windows
« Reply #12 on: 06 Aug 2006, 04:59:47 pm »
Yes,

I've already tried both. SSE3 hasn't given me any speed boost at all, and I have not been able to get a 64-bit version to compile - I keep getting errors like "Target machine type AMD64 is incompatible with module machine type X86".

I'm also interested in how a 64-bit version would compare but haven't had more time to get it to work yet.

Hope that helped,
Simon.

Have you downloaded the IPP package for EM64T.. It said that it wasn't required to use Vision 2005 , i think you can use 2003 version and still compile EM64T through settings for the compilation..

Just a thought..

//Vyper

Hmm

I found this on Intels Site:

 Command Line Mode in Microsoft* VC.NET 2003 Environment

Required Software: Microsoft* VC.NET 2003*
Microsoft* Platform SDK for Windows* Server 2003 Server 2003 SP1 (Oct and later) For compile and link IPP in command line--
Open a 64-bit Build environment window by--
Start >> All Programs >> Microsoft Platform SDK for Windows Server 2003 Server 2003 SP1 >> Open Build Environment Window >> Windows Server 2003 64-bit Build Environment >> Set Win Svr 2003 x64 Build Env (Debug, [Release])
Run environment variable setting by--
> C:\Program Files (x86)\Intel\IPP\5.0\em64t\tools\env\ippenv.bat


Edit your make file or Enter compile command like below:
cl -out: main.exe main.c -I'C:\Program Files (x86)\Intel\IPP\5.0\em64t\' /LIBPATH:'C:\Program Files (x86)\Intel\IPP\5.0\em64t\stublibippsem64t.lib ippcoreem64t.lib

Wonder if this is something of use?!

//Vyper

Offline Vyper

  • Alpha Tester
  • Knight Templar
  • ***
  • Posts: 376
Re: How to make your own optimized Seti@Home client for Windows
« Reply #13 on: 06 Aug 2006, 05:05:54 pm »
I just found out that the trial versions of IPP for Windows (and only IPP) don't include redistributable files at all - so that ipp_w7.h is not the only thing missing from them, sadly. Since I do have other licenses installed, I did not check that too closely. It looked complete when I installed it once to test, and they said it's the same - well, it isn't. Depending on what license file you use to install IPP, different things get installed. There is a way to get the files out of the installer, but that's probably not legal.

So this will make it difficult for people to compile on Windows I'm afraid (unless they get an IPP license, that is).

I'm almost done with my letter to Intel - I still cannot understand why they offer non-commercial tools for Linux, but not Windows. I'll put that in there as well.

Regards,
Simon.

I found a way to get around this..

When i compiled i got a LOT of errors , and i found out that the compiler wanted access to files which hadn't been installed but existed in the Data1.cab file.. So!!!

I extracted Data1 cab to a directory and included that one also in the project along with the other "links" to intel drawers etc..

After that it all worked and produced results just the same like Simon's app..

After this i tried to download the 5.1.1 IPP package from their support page and found out that they used Core2 optmized code which i have succesfully built.. I tried to modify the analyzefunc.cpp file to print if it used SSE4 when compiling but all it said that "icl: Command line warning: overriding '/archSSE2' with '/QxT'"

I just want a Core2 processor to test this if it's working :)

EDIT: I modified analysefuncs.cpp to include
analyzeFuncs.cpp
-----IPP-----
-----sse4-----
So it reports it when compiling and use USE_SSE4 command. Giving it a new compile round.
EDIT2: Yay it worked!! Cool.


//Vyper
« Last Edit: 06 Aug 2006, 06:00:46 pm by Vyper »

 

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?
Members
Total Members: 97
Latest: ToeBee
New This Month: 0
New This Week: 0
New Today: 0
Stats
Total Posts: 59559
Total Topics: 1672
Most Online Today: 37
Most Online Ever: 983
(20 Jan 2020, 03:17:55 pm)
Users Online
Members: 0
Guests: 23
Total: 23
Powered by EzPortal