I think we are on the same page for the most part.

 

The stuff that is important to projects (lib and api) can be built and used by 
whatever the toolset (compiler/linker) is used by the project.

 

----- Rom

 

From: Raistmer the Sorcerer [mailto:[email protected]] 
Sent: Friday, May 23, 2014 2:11 AM
To: Rom Walton
Cc: BOINC Dev Mailing List; Eric J Korpela
Subject: Re[2]: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010

 

Express edition maybe enough for compiling BOINC libs (but again, better if 
they would be pre-compiled) but not enough for developing GPU science 
application, for example.
I would say it's just general principle - not to restrict area of applicability 
w/o real need. 
I know, big companies like AMD or NV do such with easy dropping support with M$ 
fashion but this is not the way to mimic actually. 
It's against initial BOINC spirit - to use everything spare. Think about it, 
maybe no more pragmatic reasons needed?



Thu, 22 May 2014 20:19:54 -0400 от "Rom Walton" <[email protected]>:

Well, the AVX detection code is only used in the client software and only 
needed on Windows.  Is there a reason to be backwards compatible with VS 2008, 
if the recent versions of express edition are free?

 

/lib and /api do not need the additional stuff and should compile fine with all 
the compilers in use.  

 

----- Rom

 

From: [email protected] [mailto:[email protected]] On Behalf Of Eric J Korpela
Sent: Thursday, May 22, 2014 7:56 PM
To: Rom Walton
Cc: Raistmer the Sorcerer; BOINC Dev Mailing List
Subject: Re: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010

 

Coming from a world where no two compilers are alike, I have some experience 
with such problems.

#ifndef HAVE__XGETBV  /* set by autoconf or in boinc_win.h */

static unsigned long long _xgetbv(unsigned int index){

      unsigned int A, D;

#ifdef __GNUC__

  #ifdef ASM_SUPPORTS_XGETBV  /* gcc version >= 4.4, but better tested by 
autoconf */

      __asm__ __volatile__("xgetbv" : "=a"(A), "=d"(D) : "c"(index));

  #else

      __asm__ __volatile__(".byte 0x0f, 0x01, 0xd0": "=a"(A), "=d"(D) : 
"c"(index));

  #endif

#elif defined(_MSC_VER) 
  #ifdef _M_IX86 

      __asm {
                       mov ecx,index

                       __emit 00fh
                       __emit 001h
                       __emit 0d0h

                       mov D,edx

                       mov A,eax

       }

  #elif defined(_M_AMD64)

      // damn Microsoft for not having inline assembler in 64-bit code

      // so this is in an NASM compiled library

      return asm_xgetbv(index);

  #endif
      return ((unsigned long long)D << 32) | A;

#else 

      return 0;

#endif

}

#endif

 

On Thu, May 22, 2014 at 3:52 PM, Rom Walton <[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> > wrote:

I meant to say not supported.

----- Rom


-----Original Message-----
From: boinc_dev [mailto:[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%3aboinc_dev%[email protected]>
 ] On Behalf Of Rom Walton
Sent: Thursday, May 22, 2014 6:49 PM
To: Raistmer the Sorcerer
Cc: BOINC Dev Mailing List

Subject: Re: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010

It is my understanding that the '_xgetbv' intrinsic is supported in VS2008.



----- Rom



From: Raistmer the Sorcerer [mailto:[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> ]
Sent: Thursday, May 22, 2014 6:46 PM
To: Rom Walton
Cc: BOINC Dev Mailing List; Jord van der Elst
Subject: Re[2]: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010



That is, this code will do wrong being compiled with VS2008?

    int cpuInfo[4];

    __cpuid(cpuInfo, 1);



    bool osUsesXSAVE_XRSTORE = cpuInfo[2] & (1 << 27) || false;

    bool cpuAVXSuport = cpuInfo[2] & (1 << 28) || false;



    if (osUsesXSAVE_XRSTORE && cpuAVXSuport)

    {

        // Check if the OS will save the YMM registers

        unsigned long long xcrFeatureMask = _xgetbv(_XCR_XFEATURE_ENABLED_MASK);

        avxSupported = (xcrFeatureMask & 0x6) || false;

    }

__cpuid() will not report correctly?




Thu, 22 May 2014 17:47:28 -0400 от "Rom Walton" <[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> >:

Demand for AVX detection and support:

http://insufficientlycomplicated.wordpress.com/2011/11/07/detecting-intel-advanced-vector-extensions-avx-in-visual-studio/



----- Rom



From: Raistmer the Sorcerer [mailto:[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> ]
Sent: Thursday, May 22, 2014 5:19 PM
To: Jord van der Elst
Cc: BOINC Dev Mailing List; Rom Walton
Subject: Re: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010



What reasons behind of this version shift?
What unresolvable problems with VS2008 ?



Thu, 22 May 2014 16:54:15 +0200 от Jord van der Elst <[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]>  
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> >:

WINBUILD: Minimum supported VS is now VS 2010

So then that means that someone has to retest and rewrite all and everything of 
http://boinc.berkeley.edu/trac/wiki/CompileClient#Windows as the compilers the 
page is written for are VS 2005 (Express) and 2008.

And what VS, full VS or is Express also an option?
Or is Express still not capable of compiling 64bit applications?

Thanks,

-- Jord van der Elst.
_______________________________________________
boinc_dev mailing list
[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]>  
<https://e.mail.ru/[email protected]>
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.





_______________________________________________
boinc_dev mailing list
[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> 
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
_______________________________________________
boinc_dev mailing list
[email protected] 
<https://e.mail.ru/compose/?mailto=mailto%[email protected]> 
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

 

 

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to