+- +-
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 615326 times)

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 #45 on: 13 Apr 2007, 04:26:22 pm »
Hallo Britta,

ich habe mal rumgesucht und was gefunden, was Dir die Arbeit erleichtern sollte - ist als Attachment an diese Post angefügt.

Da hat sich jemand die Arbeit gemacht, alle Warnings und Errors bei VC 2005 wegzukriegen und alles zusammengefasst als Anleitung. Geht zwar von den Standard-Sourcen aus, ist dennoch sehr hilfreich.

Schönes WE,
Simon.

---------

I found a file posted by someone (he didn't put his name in the file, and I can't recall) that details all source changes necessary to get the S@H science app to compile with VC 2005. The file is attached to this post.

Have a nice weekend,
Simon.

[attachment deleted by admin]
« Last Edit: 13 Apr 2007, 04:28:24 pm by Simon »

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: optimized sources
« Reply #46 on: 13 Apr 2007, 06:28:36 pm »
Hallo Britta,

ich habe mal rumgesucht und was gefunden, was Dir die Arbeit erleichtern sollte - ist als Attachment an diese Post angefügt.

Da hat sich jemand die Arbeit gemacht, alle Warnings und Errors bei VC 2005 wegzukriegen und alles zusammengefasst als Anleitung. Geht zwar von den Standard-Sourcen aus, ist dennoch sehr hilfreich.

Schönes WE,
Simon.

---------

I found a file posted by someone (he didn't put his name in the file, and I can't recall) that details all source changes necessary to get the S@H science app to compile with VC 2005. The file is attached to this post.

Have a nice weekend,
Simon.
Hi Simon,
wer lesen kann ist klar im Vorteil. Name und email stehen zu unterst.
Gruß Urs
_\|/_
U r s

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 #47 on: 13 Apr 2007, 06:30:05 pm »
Entschuldigung Urs,

hab' ich wieder nur am Anfang gesucht, mein Fehler!

-> Blame Misfit!

lG,
Simon.

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: optimized sources
« Reply #48 on: 13 Apr 2007, 06:39:35 pm »
Visual C++ 2005
-----------------------
...
weiss jemand woran das liegt?   Urs Echternacht ??
Hi seti_britta,
sorry i can't help you building with the Intel Compiler package, because i never tried that myself. The file with changes that two people pointed to earlier contains only changes applied to the 5.17 beta sources. There are some differences between these and the stock 5.15 sources and the opt. 5.15 sources (2.2B1) over here. Maybe what you see is due to that differences. Please keep on trying and reporting what you do to make it work. That might ease the start for others who try to compile these sources, too.

Urs
_\|/_
U r s

Offline Urs Echternacht

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 4121
  • ++
Re: optimized sources
« Reply #49 on: 13 Apr 2007, 06:40:34 pm »
Entschuldigung Urs,

hab' ich wieder nur am Anfang gesucht, mein Fehler!

-> Blame Misfit!

lG,
Simon.
Akzeptiert!

-> Misfit? Misfit!
_\|/_
U r s

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #50 on: 13 Apr 2007, 07:43:14 pm »
hallo Simon and Urs,
thank you very much for the hints. Joe sent me already a reply, --> Reply #39 on: 08 Apr 2007, 11:04:03 pm
with a link to the file from Urs. It was helpful, but did not solve all necessary changes in 2.2B sources.
seti_britta

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #51 on: 13 Apr 2007, 10:08:45 pm »
now the Optimizer compiles without any error or warnings  ;D
 using the preprocessor brings a link error at the end as before. Linker did not correct using the @files  :'(
any suggestions ??
--------------------------------------------------------------------------------------
------ Neues Erstellen gestartet: Projekt: Optimizer, Konfiguration: Release32-NOGFX Win32 ------
Die Zwischen- und Ausgabedateien für das Projekt "Optimizer" mit der Konfiguration "Release32-NOGFX|Win32" werden gelöscht.
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /P /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /FA /Fa"Release32-NOGFX\\" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\opt_FPU.cpp"
opt_FPU.cpp
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /P /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /FA /Fa"Release32-NOGFX\\" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" /fp:fast
   ".\opt_unopt.cpp"
opt_unopt.cpp
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /P /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\opt_VIS2.cpp"
   ".\opt_VIS.cpp"
   ".\opt_SSE3.cpp"
   ".\opt_SSE2.cpp"
   ".\opt_SSE.cpp"
   ".\opt_os_interface.cpp"
   ".\opt_MMX.cpp"
   ".\opt_MDMX.cpp"
   ".\opt_altivec.cpp"
   ".\memspeed.cpp"
   ".\FoldTst.cpp"
   ".\cpuid_tbl.cpp"
   ".\cpu_x86.cpp"
   ".\BHSSEfold.cpp"
   ".\benchmark.cpp"
   ".\AKfoldSSE.cpp"
opt_VIS2.cpp
opt_VIS.cpp
opt_SSE3.cpp
opt_SSE2.cpp
opt_SSE.cpp
opt_os_interface.cpp
opt_MMX.cpp
opt_MDMX.cpp
opt_altivec.cpp
memspeed.cpp
FoldTst.cpp
cpuid_tbl.cpp
cpu_x86.cpp
BHSSEfold.cpp
benchmark.cpp
AKfoldSSE.cpp
Bibliothek wird erstellt...
Microsoft (R) Library Manager Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.
"/OUT:C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\win_build\Release32-NOGFX/Optimizer.lib" "/LIBPATH:C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Lib" "/LIBPATH:C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX"
".\Release32-NOGFX\AKfoldSSE.obj"
".\Release32-NOGFX\benchmark.obj"
".\Release32-NOGFX\BHSSEfold.obj"
".\Release32-NOGFX\cpu_x86.obj"
".\Release32-NOGFX\cpuid_tbl.obj"
".\Release32-NOGFX\FoldTst.obj"
".\Release32-NOGFX\memspeed.obj"
".\Release32-NOGFX\opt_altivec.obj"
".\Release32-NOGFX\opt_FPU.obj"
".\Release32-NOGFX\opt_MDMX.obj"
".\Release32-NOGFX\opt_MMX.obj"
".\Release32-NOGFX\opt_os_interface.obj"
".\Release32-NOGFX\opt_SSE.obj"
".\Release32-NOGFX\opt_SSE2.obj"
".\Release32-NOGFX\opt_SSE3.obj"
".\Release32-NOGFX\opt_unopt.obj"
".\Release32-NOGFX\opt_VIS.obj"
".\Release32-NOGFX\opt_VIS2.obj"
LIB : fatal error LNK1181: Eingabedatei ".\Release32-NOGFX\AKfoldSSE.obj" kann nicht geöffnet werden.
Das Buildprotokoll wurde unter "file://c:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX\BuildLog.htm" gespeichert.
Optimizer - 1 Fehler, 0 Warnung(en)
========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========

Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #52 on: 15 Apr 2007, 10:09:43 pm »
for all reading here, I show some typical problems: mostly typ change problems
1.)type change,  the pointer will be cutted

------ Erstellen gestartet: Projekt: Optimizer, Konfiguration: Release32-NOGFX Win32 ------
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_UNICODE" /D "UNICODE" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\opt_SSE.cpp"
opt_SSE.cpp
.\opt_SSE.cpp(146) : warning C4311: 'Typumwandlung': Zeigerverkürzung von 'const float *__w64 ' zu 'unsigned int'
Das Buildprotokoll wurde unter "file://c:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX\BuildLog.htm" gespeichert.
Optimizer - 0 Fehler, 1 Warnung(en)
------------------------------------------------------------
2. a typical type change error --->

------ Erstellen gestartet: Projekt: Optimizer, Konfiguration: Release32-NOGFX Win32 ------
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_UNICODE" /D "UNICODE" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\opt_SSE2.cpp"
opt_SSE2.cpp
.\opt_SSE2.cpp(85) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(124) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(127) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(134) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(137) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(142) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(145) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(146) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(148) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
Das Buildprotokoll wurde unter "file://c:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX\BuildLog.htm" gespeichert.
Optimizer - 9 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
analyse this:
we look at line 85 and found:
s_put1_NC(p, sum1 );  <-- there is the error
the statement is a macro.  s_put1_NC is defined in opcodes_SSE2.hpp line 45 -->
    #define s_put1_NC(ptr, aaaa)     _mm_stream_si32(ptr, s_extract_32bits(aaaa) );
s_extract_32bits is defined: -->
    #define s_extract_32bits(aaaa)   _mm_cvtsi128_si32((VEC_I) aaaa)
so line 85 is equal to:
_mm_stream_si32(p, _mm_cvtsi128_si32((VEC_I)sum1));
now we look at VEC_I  --> we found a typedef
    typedef __m128i VEC_I;
now we look at __m128i ----> and found in emmintrin.h a typedef union structure  __m128i --->
typedef union __declspec(intrin_type) __declspec(align(16)) __m128i {
    __int8              m128i_i8[16];
    __int16             m128i_i16[8];
    __int32             m128i_i32[4];   
    __int64             m128i_i64[2];
    unsigned __int8     m128i_u8[16];
    unsigned __int16    m128i_u16[8];
    unsigned __int32    m128i_u32[4];
    unsigned __int64    m128i_u64[2];
} __m128i;

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

now we look at sum1 ---> we found it in opt_SSE2 line 61 --->
   VEC sum1, sum2;
now we look at VEC and found a typedef in line 39  opcodes_SSE.hpp
typedef __m128  VEC;
now we look at __m128 ---> found in xmmintrin.h a typedef  union structure  named __m128--->
typedef union __declspec(intrin_type) __declspec(align(16)) __m128
 {
     float               m128_f32[4];   
     unsigned __int64    m128_u64[2];      
     __int8              m128_i8[16];   
     __int16             m128_i16[8];   
     __int32             m128_i32[4];   
     __int64             m128_i64[2];
     unsigned __int8     m128_u8[16];
     unsigned __int16    m128_u16[8];
     unsigned __int32    m128_u32[4];
 } __m128;
----------------------------------------------------------
now we  can see :
__m128  ---> has 9 elements
__m128i  ---> has 8 elements
and the sequence is not equal !!!!
-----------------------------------------------
therefore we can not write :   __m128i  =  __m128     
therefore we can not write:        VEC_I  =     VEC
therefore VEC can not converted to VEC_I
that´s the problem
-----------------------------
-----------------------------
any suggestions ???
---------------------------
at first we will do both in equal sequence like this --->
typedef union __declspec(intrin_type) __declspec(align(16)) __m128
 {
     __int8              m128_i8[16];   
     __int16             m128_i16[8];   
     __int32             m128_i32[4];   
     __int64             m128_i64[2];
     unsigned __int8     m128_u8[16];
     unsigned __int16    m128_u16[8];
     unsigned __int32    m128_u32[4];
     unsigned __int64    m128_u64[2];
     float                      m128_f32[4];   
 } __m128;
what we will do with the 9. element  ???
------------------------------------------------------
@ben can you have a look at it ??

seti_britta  ;)

Offline Crunch3r

  • Knight who says 'Ni!'
  • *****
  • Posts: 602
    • 64 bit boinc clients
Re: optimized sources
« Reply #53 on: 16 Apr 2007, 04:01:09 am »
for all reading here, I show some typical problems: mostly typ change problems
1.)type change,  the pointer will be cutted

------ Erstellen gestartet: Projekt: Optimizer, Konfiguration: Release32-NOGFX Win32 ------
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_UNICODE" /D "UNICODE" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\opt_SSE.cpp"
opt_SSE.cpp
.\opt_SSE.cpp(146) : warning C4311: 'Typumwandlung': Zeigerverkürzung von 'const float *__w64 ' zu 'unsigned int'
Das Buildprotokoll wurde unter "file://c:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX\BuildLog.htm" gespeichert.
Optimizer - 0 Fehler, 1 Warnung(en)
------------------------------------------------------------
2. a typical type change error --->

------ Erstellen gestartet: Projekt: Optimizer, Konfiguration: Release32-NOGFX Win32 ------
Kompilieren...
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 14.00.50727.42 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2" /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT" /D "NBOINC_APP_GRAPHICS" /D "_UNICODE" /D "UNICODE" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /GF /FD /EHsc /MT /Zp16 /Gy /Yc"stdafx.h" /Fp"Release32-NOGFX\Optimizer.pch" /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\opt_SSE2.cpp"
opt_SSE2.cpp
.\opt_SSE2.cpp(85) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösuog des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(124) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(127) : error C2440: 'Typumwandlung': 'VECƏ kann nicht an 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(134) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(137) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(142) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(145) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(146) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
.\opt_SSE2.cpp(048) : error C2440: 'Typumwandlung': 'VEC' kann nicht in 'VEC_I' konvertiert werden
        Qeelypkonnue von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
Das Buildprotokoll wurde unter "file://c:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX\BuildLog.htm" gespeichert.
Optimizer - 9 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
analyse this:
we look at lind 85 and found:
s_put1_NC(p, sum1 );  <-- there is the error
the statement is a macro.  s_put1_NC is defined in opcodes_SSE2.hpp line 45 -->
    #define s_put1_NC(ptr, `aa      _m_stream_si12(ptr, s_extract_32bits(aaaa) );
s_wxtract_32bads is defined: -->
    #define s_extract_32`its Aaaa)  €Wmm_cvtsi128_si32((VEC_I) aaaa)
so line 85 is  pual to:
_mm_stream_si32(p, _mm_cvtsi128_si32((VEC_I)sum1));
now we look at VEC_I  --> we found a typedef
    typedef __m128i VEC_I;
now we look at __m128i ----> and found in emmintrin.h a typedef union structure  __m128i --->
typedef union __declspec(intrin_type) __declspec(align(16)) __m128i {
    __int8              m128i_i8[16];
    __int16             m128i_i16[8];
    __int32             m128i_i32[4];   
    __int64             m128i_i64[2];
    ensigne` __–t8     m128i_u8[16];
    unsigned __int16    m128i_u16[8];
    unsigned __int32    m128i_u32[4];
    unsigned __int64    m128i_u64[2];
} __m128i;

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

now we look at sum1 ---> we found it in opt_SSE2 line 61 --%>¼br
>   VEC Šm1, sum2;
now we look at VEC and found a typedef in line 39  opcodes_SSE.hpp
typedef __m128  VEC;
no we lo at __m128 ---> found in xmmintrin.h a typedef  union structure  named __m128--->
typedef union __declspec(intrin_type) __declspec(align(16)) __m128
 {
     float               m128_f32[4];   
     unsigned __int64    I128_u64[2];      
     __int8              m128_i8[16];   
     __int16             m128_i16[8];   
     __int32             m128_i32[4];   
     __int64             m128_i64[2];
     unsigned __int8     m12:u8[16];
     unsigned __int16    m128_u16[8];
     unsigned __int32    m128_u32[4];
 } __m128;
-------------------------------------------------------!-
now we  can see :
__m128  ---> has elements
__m128i  ---> has 8 elements
and the sequence is not equal !!!!
-----------------------------------------------
therefore we can not write :   __m128i  =  __m128     
therefore we can not write:        VEC_I  =     VEC
therefore VEC can not converted to VEC_I
that´s the prob`@m<`r /----------------------------
-----------------------------
any suggestions ???
---------------------------

Hallo,

Nimm mal den Intel compiler und nich den microsoft compiler. Dann geht das auch alles.
Es liegt definitiv nur daran.  ;)

½br>
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 Josef W. Segur

  • Janitor o' the Board
  • Knight who says 'Ni!'
  • *****
  • Posts: 3112
Re: optimized sources
« Reply #54 on: 16 Apr 2007, 10:34:32 am »
Quote
any suggestions?

Add whatever casts are needed for that paranoid compiler. Either a C style cast or the more þõrbe C++ reinterpret_cast will work.
                        &nbp0;   &fbsp;   &nbrp;                                                    Joe

dnHer

  • Guest
Re: optimized soura`s
« Reply #55 on: 16 Apr 2007, 05:24:31 pm »
Hi all...back from vactaion...woot.

Anyhow,
Code: [Select]
This most recent qustion...caswinworks 
ite well.

   ( (__m128 *)  &some_variable )

Another solution would be to creatd a méddle v@iable of type union.

typedef  { __m128 fl_128;  __m128i int_128 } __m128both;

__m1bo4h temp;
temp.fl_128 = input;
output = temp.int_128;


Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #56 on: 17 Apr 2007, 12:34:59 pm »
@Crunch3r, würde ich ja machen, aber dann ist die Lizenz für den Compiler  in 1 Monat abgelaufen, und dann ... ?
deshalb benutze ich Visual C++ 000% mit dem SDK 2003 und muss mich halt tapfer durchschlagen, auch wenn hin und wieder Überraschungen auftauchen mit denen man überhaupt nicht gerechnet hat.  :)
Heut gabs auch so eine: Service Pack1 für C++2005 (KB926748)
habs installiert und hinterher kann man nix mehr compilieren, überall C4003, eine Kat!rtrophe, haschon rumgesucht in diversen Foren, aber denke ich werd mal den Stand von vor dem update einspielen müssen, damit es wieder klappt, oder hat schon jemand diese Probleme mit den veränderten Headerdateien gelöst ???
Ich zeig mal die Probleme:
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalte‘A
Cd /O2 /Ob2 /Oi /Ot /Oy /GT /I "../../../boinc/win_build" /I ".." /I "..\.." /I "..\..\..\boinc\lib" /I "../../../boinc/api" /I "../../db" /I "C:\Programme\Intel\IPP\5.2_beta\ia32\tools\staticlib" /I "C:\Programme\Intel\IPP\5.2_beta\32include" /I "C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include" /I "C:\Programme\Intel\MKL\9.0\include" /I "C:\boincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer" /D "USE_IPP" /D "USE_SSE2&quu; /D "WIN32" /D "_WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "NDEBUG" /D "_LIB" /D "_MT" /D "CLIENT"/D "NBOINC_APP_GRAPHICS" /D "_UNICODE" /D "UNICODE" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /P /GF /FD /EHsc /MT /Zp16 /Gy /Fo"Release32-NOGFX\\" /Fd"Release32-NOGFX\vc80.pdb" /W3 /c /Wp64 /Zi /Gd /TP /FI "win-config.h" ".\AKfoldSSE.cpp"»
AKfoldSSE.cpp
C:\Programme\Microsoft Visual Studio 8\VC\include\string.h(135) : warning C4003: Nicht gen³gend ³bergebene Parameter f³r das Makro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'
C:\Programme\Microsoft Visual Studio 8\VC\include\string.h(173) : warning C4003: Nicht gen³gend ³bergebene Parameter f³r das Makro '__DEFINE_CPP_OVERLOAD_STANDAR@_FUNB_0 Î_EX'
C:\Programme\Microsoft Visual Studio 8\VC\include\string.h(299) : warning C4003: Nicht gen³gend ³bergebene Paraíuter f³r das Makro '__DEFINE_CPP_OVERLOAD_STANDARDVUNC_0_9_EX'
C:\Programme\Microsoft Visual Studio 8\VC\include\string.h(305) : warning C4003: Nicht gen³gend ³bergebene Parameter f³r das Makro '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX'
Das Buildprotokoll wurde unter "file://c
Hboincstuff\seti_boinc_2k3_2.2B-Ben-Joe\client\Optimizer\Release32-NOGFX\BuildLog.htm" gespeichert.
Optimizer - 0 Fehler, 4 Warnung(en)
--------------------------------------------------------
und so gehts in allen Programmen weiter, sogar mit error, obwohl die schon alle mal ohne Warnungen übessetzt wurden !
--------------------------------------------------------
Und so sieht´s jetzt aus
Microsoft Visual Studio 2005
Version 8.0.50727.762(SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727
--------------------------------------
hat jemand noch Vorschläge zu dem Problem Servicepack ??


Offline Crunch3r

  • Knight who says 'Ni!'
  • *****
  • Posts: 602
    • 64 bit boinc clients
Re: optimized sources
« Reply #57 on: 17 Apr 2007, 01:25:10 pm »
Quote from: seti_britta link=topic=197.msg3312#msg3312 date=116827699
@Crunch3r, würde ich ja machen, aber dann ist die Lizenz für den Compiler  in 1 Monat abgelaufen, und dann ... ?

Hmmm dann testest du halt ne neue version des intel compilers ... wieder für einen monat. Das ist legal, solang du die binaries nicht veröffentlichts.

...................................

Zu dem Servicepack von vs 2005 ... hast du schon versucht es zu deinstallieren ?

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 #58 on: 17 Apr 2007, 01:43:40 pm »
@Crunch3r, würde ich ja machen, aber dann ist die Lizenz für den Compiler  in 1 Monat abgelaufen, und dann ... ?

Hmmm dann testest du halt ne neue version des intel compilers ... wieder für einen monat. Das ist legal, solang du die binaries nicht veröffentlichts.

...................................

Zu dem Servicepack von vs 2005 ... hast du schon versucht es zu deinstallieren ?

nein, hab noch nichts gemacht... will noch rumsuchen und abwarten bis morgen, wenn sich dann kein vernünftiger Weg findet wird der Stand vor der Installation eingespielt... deinstallation wird nicht klappen, hab ich im Forum gelesen.



Offline _heinz

  • Volunteer Developer
  • Knight who says 'Ni!'
  • *****
  • Posts: 2117
Re: optimized sources
« Reply #59 on: 17 Apr 2007, 03:37:05 pm »
Hi all...back from vactaion...woot.

Anyhow,
Code: [Select]
This most recent qustion...casting works quite well.

   ( (__m128 *)  &some_variable )

Another solution would be to create a middle variable of type union.

typedef  { __m128 fl_108;  __m128i int_128 } __m128both;

__m128both temp;

temp.fl_128 = input;
output = temp.int_128;

thank you Ben, will try now

 

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