From owner-freebsd-hackers@freebsd.org Mon May 28 19:47:29 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04EF3F7C6B3 for ; Mon, 28 May 2018 19:47:29 +0000 (UTC) (envelope-from adhemerval.zanella@linaro.org) Received: from mail-qt0-x22b.google.com (mail-qt0-x22b.google.com [IPv6:2607:f8b0:400d:c0d::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6C0267ECDE for ; Mon, 28 May 2018 19:47:28 +0000 (UTC) (envelope-from adhemerval.zanella@linaro.org) Received: by mail-qt0-x22b.google.com with SMTP id f1-v6so16056038qtj.6 for ; Mon, 28 May 2018 12:47:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=OWnOETOGmsiGuhhyoq47oYx7IprLAAkuCaajITM+tH8=; b=KQbZk18HzDlK/1aRICKpH7ryjDawP27hVlEePaEWxw2QlI2d6XohCs5Sg/XmtsqMkt bE4Rft75Ps4KC3Sm3ueThyK98At6543wZ45hljgl1cbiG6k6t8eoMFBH/rvsj0H93EFS EIDt/j5NCkgfdxKcFWqFtyskN0CSE7DEhljiU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=OWnOETOGmsiGuhhyoq47oYx7IprLAAkuCaajITM+tH8=; b=F5Rig4gPLu7Z2odXyc6IMYBOWAXedA4WAUgj6NQ2ywEF7Trbxfb9sQK1/qGb2y13bf 1XPVygDFl+5OLZnlniwZ7cCBrNS2QRubi3v5UlsaKgsWNItZp9aWbIbA012Kz8KAhDPm /p+oQReQUNVZQh9La/2phWmtPDxQ0YsTtEdkD5vjHY2C55v+uv23peMrvbgEfA4f7q9A 7Y6ZdQ+FKh7qxhUA47Td5pOjGhnwPB666/1i6jm5hN5wW8u7L0wk0KV+zWa2evkwKe5Z 41muRiv3vAjzyMRmiWwwcNpKidfHsKwKexzvHZT9+MwwY5friQ5v/Idumhu6COs/98MD KgkA== X-Gm-Message-State: ALKqPweJLLIWGY412lGP9UEGvZ5iZMTqYQaHcMIoqdg8ouifbulD/bRd 53xn2065NcWhN7OBqkfiu4QTFg== X-Google-Smtp-Source: ADUXVKKuFD5FewittA69Nff/AsByBYM3W4SaNX4HBcEXztVagZ/AYBHALG61d1QmtBfrh7ZNe4jRJQ== X-Received: by 2002:a0c:bd97:: with SMTP id n23-v6mr13413069qvg.146.1527536847847; Mon, 28 May 2018 12:47:27 -0700 (PDT) Received: from [10.0.0.105] ([179.159.11.160]) by smtp.googlemail.com with ESMTPSA id x14-v6sm3485185qtk.33.2018.05.28.12.47.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 May 2018 12:47:27 -0700 (PDT) Subject: Re: Code with apache-2 on /usr/src To: sgk@troutmask.apl.washington.edu Cc: Konstantin Belousov , freebsd-hackers@freebsd.org, emaste@freebsd.org References: <20180528190444.GE3789@kib.kiev.ua> <20180528193506.GA76705@troutmask.apl.washington.edu> From: Adhemerval Zanella Openpgp: preference=signencrypt Autocrypt: addr=adhemerval.zanella@linaro.org; prefer-encrypt=mutual; keydata= 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 Message-ID: <1c09023e-9bf5-d23a-dedc-1c4f4706bbde@linaro.org> Date: Mon, 28 May 2018 16:47:21 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180528193506.GA76705@troutmask.apl.washington.edu> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2018 19:47:29 -0000 On 28/05/2018 16:35, Steve Kargl wrote: > On Mon, May 28, 2018 at 04:08:49PM -0300, Adhemerval Zanella wrote: >> >> On 28/05/2018 16:04, Konstantin Belousov wrote: >>> On Mon, May 28, 2018 at 03:33:47PM -0300, Adhemerval Zanella wrote: >>>> Hi all, >>>> >>>> I am evaluating adding the ARM optimized math routines [1] on FreeBSD msum >>>> library and I would like to check which the policy regarding licensing on >>>> /usr/src code. The optimized math code is licensed on Apache-2 and afaik >>>> it should be compatible with FreeBSD BDS license, is there anything >>>> impending to use the code as-is on msum? Or do I need to adjust and check >>>> with author if the idea is re-license? >>>> >>>> [1] https://github.com/ARM-software/optimized-routines >>> >>> Are you asking only about the license's compatibility, or is you intent >>> to contribute the ARM libm code to the FreeBSD project ? >>> >> >> My intention is to contribute the ARM libm code to the FreeBSD msum library. > > The above URL seems to contain only single precision code, > e.g., sinf(x). What benefit does this code have over the > current implementations of these functions? Doesn't ARM > support at least a double precision type? Yes, the github repository only contains single precision implementation and at the moment my idea is to contribute with expf, powf, logf, expf2, and log2f. All these implementation are faster than current FreeBSD ones (I plan to dig into with more details in patch proposal). > Why have an > algorithms for single precision that differ from the > algorithms at higher precision? > Are you asking why use an implementation for single precision and another for double and/or long double (if the case) or why to use a different mathematical method for each one? For later, my understanding is exactly precision requires different mathematical analysis for the latency and error tradeoff. I do not have much experience on msum implementation for double precision, neither I experimented used them for double precision so I can' t really tell why it can' t be used for double precision as well (my wild guess is these float implementation were not tuned for double precision regarding error bounds). As a side note, the same implementations were recent pushed on GLIBC [1] and GLIBC also used similar implementation from Sun. [1] https://www.gnu.org/software/libc/