X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:from:to:references:in-reply-to
	:subject:date:mime-version:content-type
	:content-transfer-encoding; q=dns; s=default; b=POZu9Vl3fMkLQHfS
	x5r92M56cgIb0nTdY0y+UQH3BANESawNPhHyNnsUeN9fwYoJixvCyo4PjJCEadbc
	zKje/l0lUwG8P5mDpX3yzbnnCvpqEmb/LFTphRm3y6EVxdDDq9TyvMQV/jwcYJLM
	pZc6m5njzk04pYnP1aBAIqyILzs=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:from:to:references:in-reply-to
	:subject:date:mime-version:content-type
	:content-transfer-encoding; s=default; bh=KOVaJmw0Q6fMh6KidwlmCn
	0u0No=; b=uaYck10jyBLrmDWNoDGTaJGm1f2jlUNu4DeTxwkhE8CYIvxoN/knuh
	s7K3kkEFGHhOllj5EsL8YsTKb9P9D0AsleMkpWpU3gE6YVBIwjt3TdPxp6IcZIKO
	xFThHFvS6sgmCgJyQFn8KzaJVFXs6HKZKRLgoptbEr285nhoCbgBY=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2
X-HELO: BAY004-OMC1S8.hotmail.com
X-TMN: [E1s1tZci4ApRphqi8lhz3flO0Zkr591p]
Message-ID: <BAY169-DS130B4038A6BB6C3F00B23AA7940@phx.gbl>
From: "Tony Kelman" <tony@kelman.net>
To: <cygwin@cygwin.com>
References: <54450C0A.6050705@gmail.com>	<BAY169-DS3454FE83B442F8A23182EBA7970@phx.gbl>	<54451D4C.5080604@gmail.com>	<BAY169-DS41999173A807A98C0210C7A7970@phx.gbl>	<54458524.8010603@gmail.com>	<BAY169-DS201BCE4DCECE478E49F36BA7970@phx.gbl>	<5445F384.705@gmail.com> <544649E9.80808@gmail.com> <87iojdpdev.fsf@Rainer.invalid>
In-Reply-To: <87iojdpdev.fsf@Rainer.invalid>
Subject: Re: Tester for openblas needed
Date: Tue, 21 Oct 2014 10:49:18 -0700
MIME-Version: 1.0
Content-Type: text/plain;	format=flowed;	charset="iso-8859-1";	reply-type=original
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes

> It should determine the number of cores at runtime as well as the level
> of SSE/AVX support: i686 starts with the PentiumPro, which didn't have
> SSE.  Fixing this at compile time is nice for local builds, but no good
> for packages.

As long as you set DYNAMIC_ARCH=1 (which Marco did), openblas does
exactly this when it comes to SIMD instruction sets (and more details
like tuning for different cache sizes, etc). They have optimized routines
for this list of processor families:
https://github.com/xianyi/OpenBLAS/blob/ac5a7e1c1bb75d1accfb83c394e1535b5ff170d2/driver/others/dynamic.c#L296-L318
the right implementation gets used based on runtime detection, which is
why the compiled dll is much larger than reference netlib blas.

Hopefully the number of threads you set at build time is just a maximum.
The library is explicitly designed so you can control the number of
threads used at runtime. What we're not sure about is what happens in
the default case when you don't manually set the number of threads.

-Tony


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

