+- +-
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: optimized sources  (Read 584085 times)

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #15 on: 02 Apr 2007, 04:42:02 pm »
Hi,

- found some interesting parts in the asm32 asseblerpackage, we should give it a chance to implement here.
- study now Intels IPP resources, before I download it and try. Go on with further optimization.
seti_britta  :)

Offline Crunch3r

  • Knight who says 'Ni!'
  • *****
  • Posts: 602
    • 64 bit boinc clients
Re: optimized sources
« Reply #16 on: 02 Apr 2007, 05:00:12 pm »
Hi,

- found some interesting parts in the asm32 asseblerpackage, we should give it a chance to implement here.
- study now Intels IPP resources, before I download it and try. Go on with further optimization.
seti_britta  :)

Hi seti_britta,

IMHO i'm not very keen on asm. To be honest i'd prefer intrinsics. Asm code depends on either your using windows /Linux and the compiler style like gcc, ms compiler or preferably ICC.

While porting the 2.2b apps to linux we had allready a hadache regarding asm code.....

However if you try studiing IPP i suggest go for ipp 5.2 ( it's not public atm but i can give you the manuals if you need them).


« Last Edit: 02 Apr 2007, 05:29:48 pm by Crunch3r »
I want to share something with you: The three little sentences that will get you through life. Number 1: Cover for me. Number 2: Oh, good idea, Boss! Number 3: It was like that when I got here.

Homer Simpson

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #17 on: 02 Apr 2007, 08:14:38 pm »
Hi,

- found some interesting parts in the asm32 asseblerpackage, we should give it a chance to implement here.
- study now Intels IPP resources, before I download it and try. Go on with further optimization.
seti_britta  :)

Hi seti_britta,

IMHO i'm not very keen on asm. To be honest i'd prefer intrinsics. Asm code depends on either your using windows /Linux and the compiler style like gcc, ms compiler or preferably ICC.

While porting the 2.2b apps to linux we had allready a hadache regarding asm code.....

However if you try studiing IPP i suggest go for ipp 5.2 ( it's not public atm but i can give you the manuals if you need them).



Hi Crunch3r,
I believe I get it already, from a link you published. Its document number A24968-019US, isn´t it??

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #18 on: 03 Apr 2007, 04:24:57 pm »
Hi Crunch3r, Simon

have some problems with the include File
#include CMATH_LIB
can anybody let me use this File ?? or must I download ??

regards seti_britta


Offline Simon

  • Ni!
  • Knight who says 'Ni!'
  • *****
  • Posts: 1045
    • Is it a bird? Is it a plane? No...its-the.net!
Re: optimized sources
« Reply #19 on: 03 Apr 2007, 04:33:20 pm »
No,

it's a define. It's inside client/config.h (may not be inside win_config.h, which is probably why you're having trouble).

Quote
#ifdef __INTEL_COMPILER
#define MATH_LIB <mathimf.h>
#define CMATH_LIB <mathimf.h>
#else
#define MATH_LIB <math.h>
#define CMATH_LIB <cmath>
#endif

HTH,
Simon.

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #20 on: 03 Apr 2007, 07:43:16 pm »
hi Simon,
thx
have some problems with MEM.calloc  , it looks like the following lines
Kompilieren...
chirpfft.cpp
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(130) : error C2065: 'MEM': nichtdeklarierter Bezeichner
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(130) : warning C4002: Zu viele übergebene Parameter für das Makro 'calloc'
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(130) : error C2228: Links von "._calloc_dbg" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(226) : warning C4002: Zu viele übergebene Parameter für das Makro 'calloc'
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(226) : error C2228: Links von "._calloc_dbg" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(262) : error C2228: Links von "._free_dbg" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(515) : error C3861: "count_flops": Bezeichner wurde nicht gefunden.
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(566) : error C2228: Links von ".alloc" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(567) : error C2228: Links von ".alloc" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(716) : error C2228: Links von "._free_dbg" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\chirpfft.cpp(719) : error C2228: Links von "._free_dbg" muss sich eine Klasse/Struktur/Union befinden.
        Typ ist ''unknown-type''
Das Buildprotokoll wurde unter "file://c:\boincstuff\kwsn-seti_boinc_1.3\seti_boinc\client\win_build\Debug\BuildLog.htm" gespeichert.
seti_boinc - 9 Fehler, 2 Warnung(en)

any suggestions ?? any macro definitons ??

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #21 on: 03 Apr 2007, 09:21:27 pm »
uh, that looks like the fft pack is not available
I believe I have a wrong config.h file
now I see in the win-config.h is a part for fft
/* Define to 1 if you have the `fftw' library (-lfftw). */
#define HAVE_LIBFFTW 1
looks like win-config is not active
#ifdef _WIN32
#include "win-config.h"
#else
must define _WIN32
#define _WIN32  1
will now try again

Offline Crunch3r

  • Knight who says 'Ni!'
  • *****
  • Posts: 602
    • 64 bit boinc clients
Re: optimized sources
« Reply #22 on: 04 Apr 2007, 06:14:15 am »
Hi Seti_britta,

looks like you picked the wrong source pack kwsn-seti_boinc_1.3

This is the one you should have used http://lunatics.at/index.php?module=Downloads;sa=dlview;id=71

HTH

I want to share something with you: The three little sentences that will get you through life. Number 1: Cover for me. Number 2: Oh, good idea, Boss! Number 3: It was like that when I got here.

Homer Simpson

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #23 on: 04 Apr 2007, 04:57:03 pm »
hallo Crunch3r,
danke für den Hinweis.
Grad hab ich nochmal von vorn angefangen, aber es scheint dass ich grundsätzlich was falsch mache.
der jetzige stand:
- so ca. vor einem Monat hab ich die quellen von seti_boinc_2k3_2.2B-Ben-Joe heruntergeladen und das entpackte Verzeichnis direkt in C: erstellt
also c:\seti_boinc_2k3_2.2B-Ben-Joe
darin hab ich auch meine quelltextänderungen vorgenommen, jedoch ohne zu kompilieren.
------------------------------------------------------------
nachdem ich nun Visual Studio 8 und Visual C++ Express installiert und danach mit Microsoft Platform SDK for Windows Server 2003 R2 update gemacht habe ist die Entwicklungsumgebung fertiggestellt.
Ich habe sie ausprobiert mit eigenen Quellen und man kann fertige exe files oder Windowsanwendungen erzeugen, die auch abarbeitbar sind. Soweit so gut.
------------------------------------------------------------------------
Nun habe ich mich an die How Tos gehalten und nach Simons Angaben für den Windows client gehandelt.
Nach dem download und entpacken haben wir folgendes:
c:\boincstuff
darin 1 Verzeichnis --> kwsn-seti_boinc_1.3
darin 2 Verzeichnisse --> boinc und seti_boinc
unter seti_boinc --> client --> win_build findet man das Project mit allen Teilen.
Nun kann man kann man seti_boinc.sln aufrufen und das Project konvertieren lassen.  Es wird die Projektmappe seti_boinc erzeugt, die übernommenen Prjektnamen werden erzeugt, sind aber leer. kein Problem wir löschen sie im Projektexplorer und sagen im Visual C++ unter -->Datei -->Hinzufügen --> Vorhandenes Project
-->client -->win_build -->boincglut  und so weiter um die Projektteile zu übernehmen.
Anschliessend sind unter dem Project seti_boinc --> Konfigurationseigenschaften -->C/C++ --> Allgemein
 -->zusätzliche Include Verzeichnisse  die entsprechenden zusätzlichen Pfade für include Dateien anzugeben.
Jetzt ist alles soweit fertig und man kann kompilieren. Wenn was nicht gefunden wird, entsprechende Include Verzeichnisse hinzufügen.
Bemerkung: im allgemeinen sollte das aber ohne zusätzliche include Verzeichnisse funktionieren, wenn man die Verzeichnisstruktur einhält, unter der die Solution seti_boinc.sln erzeugt wurde.(kenne ich leider nicht)

Simon/Crunch3r  Bitte noch einmal einen Hinweis zur Verzeichnisstruktur geben.
---------------------------------------------------------------------
Doch ich habe meine Änderungen in c:\seti_boinc_2k3_2.2B-Ben-Joe gemacht und möchte damit auch arbeiten.
Das erste was mir auffällt ist das beim entpacken von seti_boinc_2k3_2.2B1-Ben-Joe.7z nach c:\seti_boinc_2k3_2.2B-Ben-Joe, in diesem Verzeichnis kein Verzeichnis boinc wie weiter oben beschrieben besteht.
Wenn ich also c:\seti_boinc_2k3_2.2B-Ben-Joe nach Visual Studio C++ übernehme und damit arbeite habe ich folgende Probleme:
1. Include Dateien werden nicht gefunden, obwohl sie schon da sein sollten( wahrscheinlich benutze ich eine falsche Verzeichnisstruktur.
2. wenn ich sie als zusätzliche include nachgetragen habe gibt es folgendes Problem:
- bein compilieren -->#include "config.h" wird aufgerufen
- in config.h --->
#ifdef _WIN32
#include "win-config.h"
- win-config wird aufgerufen --->
#include "boinc_win.h"
boinc_win.h gibt es aber im Verzeichnis c:\seti_boinc_2k3_2.2B-Ben-Joe nicht
-------------------------------------------------------------------------------------------------------------
über einige kleine Hinweise würde ich mich freuen
mfg seti_britta






Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #24 on: 05 Apr 2007, 05:03:08 am »
try to solve the problem
- have now installed Intel IPP 5.1.1 for windows (evaluation)
- have now installed Intel MKL 9.0 (evaluation)
*************************************
try to compile a seti client without any changes
- we will see what happen


Offline Crunch3r

  • Knight who says 'Ni!'
  • *****
  • Posts: 602
    • 64 bit boinc clients
Re: optimized sources
« Reply #25 on: 05 Apr 2007, 05:17:41 am »

darin 1 Verzeichnis --> kwsn-seti_boinc_1.3
darin 2 Verzeichnisse --> boinc und seti_boinc

Doch ich habe meine Änderungen in c:\seti_boinc_2k3_2.2B-Ben-Joe gemacht und möchte damit auch arbeiten.
Das erste was mir auffällt ist das beim entpacken von seti_boinc_2k3_2.2B1-Ben-Joe.7z nach c:\seti_boinc_2k3_2.2B-Ben-Joe, in diesem Verzeichnis kein Verzeichnis boinc wie weiter oben beschrieben besteht.
Wenn ich also c:\seti_boinc_2k3_2.2B-Ben-Joe nach Visual Studio C++ übernehme und damit arbeite habe ich folgende Probleme:
1. Include Dateien werden nicht gefunden, obwohl sie schon da sein sollten( wahrscheinlich benutze ich eine falsche Verzeichnisstruktur.
2. wenn ich sie als zusätzliche include nachgetragen habe gibt es folgendes Problem:
- bein compilieren -->#include "config.h" wird aufgerufen
- in config.h --->
#ifdef _WIN32
#include "win-config.h"
- win-config wird aufgerufen --->
#include "boinc_win.h"
boinc_win.h gibt es aber im Verzeichnis c:\seti_boinc_2k3_2.2B-Ben-Joe nicht
-------------------------------------------------------------------------------------------------------------
über einige kleine Hinweise würde ich mich freuen
mfg seti_britta

Hallo,

Das hört sich ja schlimm an ...

also....

am besten kopierst du erst mal das boinc verzeichnis aus dem kwsn-seti_boinc_1.3 nach c:\ , wenn die source "seti_boinc_2k3_2.2B-Ben-Joe" auch direkt auf C: liegt, wenn nicht, dann halt in den selben unterorder.

Damit sollte sich das problem mit der "boinc_win.h" schon mal erledigt haben.

So sieht es bei mir aus.

Code: [Select]
C:\SOURCE\32-bit>dir

 Verzeichnis von C:\SOURCE\32-bit

22.03.2007  18:59    <DIR>          .
22.03.2007  18:59    <DIR>          ..
16.01.2007  19:12    <DIR>          boinc
25.02.2007  15:57    <DIR>          seti_boinc_2k3_2.2B1-Ben-Joe


« Last Edit: 05 Apr 2007, 05:20:17 am by Crunch3r »
I want to share something with you: The three little sentences that will get you through life. Number 1: Cover for me. Number 2: Oh, good idea, Boss! Number 3: It was like that when I got here.

Homer Simpson

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #26 on: 05 Apr 2007, 06:40:47 am »

darin 1 Verzeichnis --> kwsn-seti_boinc_1.3
darin 2 Verzeichnisse --> boinc und seti_boinc

Doch ich habe meine Änderungen in c:\seti_boinc_2k3_2.2B-Ben-Joe gemacht und möchte damit auch arbeiten.
Das erste was mir auffällt ist das beim entpacken von seti_boinc_2k3_2.2B1-Ben-Joe.7z nach c:\seti_boinc_2k3_2.2B-Ben-Joe, in diesem Verzeichnis kein Verzeichnis boinc wie weiter oben beschrieben besteht.
Wenn ich also c:\seti_boinc_2k3_2.2B-Ben-Joe nach Visual Studio C++ übernehme und damit arbeite habe ich folgende Probleme:
1. Include Dateien werden nicht gefunden, obwohl sie schon da sein sollten( wahrscheinlich benutze ich eine falsche Verzeichnisstruktur.
2. wenn ich sie als zusätzliche include nachgetragen habe gibt es folgendes Problem:
- bein compilieren -->#include "config.h" wird aufgerufen
- in config.h --->
#ifdef _WIN32
#include "win-config.h"
- win-config wird aufgerufen --->
#include "boinc_win.h"
boinc_win.h gibt es aber im Verzeichnis c:\seti_boinc_2k3_2.2B-Ben-Joe nicht
-------------------------------------------------------------------------------------------------------------
über einige kleine Hinweise würde ich mich freuen
mfg seti_britta

Hallo,

Das hört sich ja schlimm an ...

also....

am besten kopierst du erst mal das boinc verzeichnis aus dem kwsn-seti_boinc_1.3 nach c:\ , wenn die source "seti_boinc_2k3_2.2B-Ben-Joe" auch direkt auf C: liegt, wenn nicht, dann halt in den selben unterorder.

Damit sollte sich das problem mit der "boinc_win.h" schon mal erledigt haben.

So sieht es bei mir aus.

Code: [Select]
C:\SOURCE\32-bit>dir

 Verzeichnis von C:\SOURCE\32-bit

22.03.2007  18:59    <DIR>          .
22.03.2007  18:59    <DIR>          ..
16.01.2007  19:12    <DIR>          boinc
25.02.2007  15:57    <DIR>          seti_boinc_2k3_2.2B1-Ben-Joe



danke, jetzt gehts schon viel besser, problem boinc_win.h ist erledigt
konnte einige von mir geänderte quellfiles erfolgreich kompilieren.
chirpfft.cpp --> OK, keine Warnungen, keine Fehler
analyzeReport.cpp --> OK
analyzePot.cpp --> OK
bei analyzeFuncs.cpp im Teil generate fft coefficients kennt er keine einzige variable von fft
siehe --->
Kompilieren...
analyzeFuncs.cpp
----ooura----
..\analyzeFuncs.cpp(381) : error C2065: 'BitRevTab': nichtdeklarierter Bezeichner
..\analyzeFuncs.cpp(420) : error C2065: 'CoeffTab': nichtdeklarierter Bezeichner
usw. usw.
mal sehen, muss noch suchen, hast ne idee ??

Offline Crunch3r

  • Knight who says 'Ni!'
  • *****
  • Posts: 602
    • 64 bit boinc clients
Re: optimized sources
« Reply #27 on: 05 Apr 2007, 07:09:24 am »
Hallo,

du hast was vergessen... und zwar muss du noch einen "-DUSE_IPP" oder "DUSE_FFTWF" als Präprozessor definieren, sonnst wird die ouura routine für die ffts vewendet (viel zu alt nutzt keiner mehr)
I want to share something with you: The three little sentences that will get you through life. Number 1: Cover for me. Number 2: Oh, good idea, Boss! Number 3: It was like that when I got here.

Homer Simpson

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #28 on: 05 Apr 2007, 08:25:08 am »
Hallo,

du hast was vergessen... und zwar muss du noch einen "-DUSE_IPP" oder "DUSE_FFTWF" als Präprozessor definieren, sonnst wird die ouura routine für die ffts vewendet (viel zu alt nutzt keiner mehr)

merci, hast recht, so ist es

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #29 on: 05 Apr 2007, 08:39:01 am »
jetzt hats geklappt  ;D
------ Erstellen gestartet: Projekt: seti_boinc, Konfiguration: Release Win32 ------
Kompilieren...
analyzeFuncs.cpp
Das Buildprotokoll wurde unter "file://c:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\win_build\Release\BuildLog.htm" gespeichert.
seti_boinc - 0 Fehler, 0 Warnung(en)
========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========
nochmals alles prüfen, kommt mir so unwahrscheinlich vor
danke nochmals Crunch3r

 

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: 25
Most Online Ever: 983
(20 Jan 2020, 03:17:55 pm)
Users Online
Members: 0
Guests: 15
Total: 15
Powered by EzPortal