X-Recipient: archive-cygwin AT delorie DOT 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 AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT 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: From: "Tony Kelman" To: References: <54450C0A DOT 6050705 AT gmail DOT com> <54451D4C DOT 5080604 AT gmail DOT com> <54458524 DOT 8010603 AT gmail DOT com> <5445F384 DOT 705 AT gmail DOT com> <544649E9 DOT 80808 AT gmail DOT com> <87iojdpdev DOT fsf AT Rainer DOT 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