[{"id":1762557,"web_url":"http://patchwork.ozlabs.org/comment/1762557/","msgid":"<D373487E0338A646909492FF43BA8BE356BA7C08@irsmsx110.ger.corp.intel.com>","list_archive_url":null,"date":"2017-09-04T10:16:17","subject":"RE: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","submitter":{"id":65435,"url":"http://patchwork.ozlabs.org/api/people/65435/","name":"Senkevich, Andrew","email":"andrew.senkevich@intel.com"},"content":"> -----Original Message-----\n> From: Lu, Hongjiu\n> Sent: Friday, September 1, 2017 19:41\n> To: GNU C Library <libc-alpha@sourceware.org>\n> Cc: Senkevich, Andrew <andrew.senkevich@intel.com>\n> Subject: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n> #21967]\n> \n> AVX512 functions in mathvec are used on machines with AVX512.  An AVX2\n> wrapper is also provided and it can be used when the AVX512 version isn't\n> profitable.  MathVec_Prefer_No_AVX512 is addded to cpu-features.\n> If glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 is set in GLIBC_TUNABLES\n> environment variable, the AVX2 wrapper will be used.\n> \n> Tested on x86-64 machines with and without AVX512.  Also verified\n> glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 on AVX512 machine.\n> \n> Any comments?\n\nBut libc selects AVX2 mem/str on SKX, looks like libmvec should do the same (and backward option MathVec_Prefer_AVX512 needed).\n\n\n--\nAndrew","headers":{"Return-Path":"<libc-alpha-return-84158-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84158-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"nlfcw0iq\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xm5Nh0dxZz9s4s\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 20:16:35 +1000 (AEST)","(qmail 3648 invoked by alias); 4 Sep 2017 10:16:30 -0000","(qmail 3633 invoked by uid 89); 4 Sep 2017 10:16:29 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:subject:date:message-id:references\n\t:in-reply-to:content-type:content-transfer-encoding\n\t:mime-version; q=dns; s=default; b=IbjUrHWYoO6e3NsRwqMqvYk1D0OgK\n\tgyahsYI4MWlAgfAn8Nvf6DbJUm8A8MlL5rnno7PyQxFJrc4JoOCgo3PnQ3SvJcyz\n\tk9/G7XoItvAIgTnMaAk1t4lyN00dDzvSmt8wX+ZOSiiMZpzH93vmQKgoDNxy84kO\n\tDuo6Z50Yny8dUQ=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:subject:date:message-id:references\n\t:in-reply-to:content-type:content-transfer-encoding\n\t:mime-version; s=default; bh=hxoVupDrWd+nM5j7wWwqMI/owKI=; b=nlf\n\tcw0iq9VyZJ87wU07wEMUN2pJuCMK0+GlRJ+CtR8Blxr6T13YiXXO5S1QkHRz7RmW\n\tmmheqf925yEcHPo51Qzy90byQBCoAv8W3q8vaQpG6fQOvoCGlcuvLAmIOiIurw5C\n\tds791lV6VlIm+95BTlI1XvxHGdqUhabKhIAq+e4k=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-6.7 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_2, RP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:983,\n\tsk:andrew","X-HELO":"mga03.intel.com","X-ExtLoop1":"1","From":"\"Senkevich, Andrew\" <andrew.senkevich@intel.com>","To":"\"H.J. Lu\" <hjl.tools@gmail.com>,\n\tGNU C Library <libc-alpha@sourceware.org>","Subject":"RE: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","Date":"Mon, 4 Sep 2017 10:16:17 +0000","Message-ID":"<D373487E0338A646909492FF43BA8BE356BA7C08@irsmsx110.ger.corp.intel.com>","References":"<20170901174034.GA17543@gmail.com>","In-Reply-To":"<20170901174034.GA17543@gmail.com>","dlp-product":"dlpe-windows","dlp-version":"11.0.0.116","dlp-reaction":"no-action","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0"}},{"id":1762860,"web_url":"http://patchwork.ozlabs.org/comment/1762860/","msgid":"<CAMe9rOrOg8ZDpPG94s51xmVVLLnye1gDXOZLxjaSt6t49jfqzw@mail.gmail.com>","list_archive_url":null,"date":"2017-09-04T20:27:16","subject":"Re: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","submitter":{"id":4387,"url":"http://patchwork.ozlabs.org/api/people/4387/","name":"H.J. Lu","email":"hjl.tools@gmail.com"},"content":"On Mon, Sep 4, 2017 at 3:16 AM, Senkevich, Andrew\n<andrew.senkevich@intel.com> wrote:\n>> -----Original Message-----\n>> From: Lu, Hongjiu\n>> Sent: Friday, September 1, 2017 19:41\n>> To: GNU C Library <libc-alpha@sourceware.org>\n>> Cc: Senkevich, Andrew <andrew.senkevich@intel.com>\n>> Subject: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n>> #21967]\n>>\n>> AVX512 functions in mathvec are used on machines with AVX512.  An AVX2\n>> wrapper is also provided and it can be used when the AVX512 version isn't\n>> profitable.  MathVec_Prefer_No_AVX512 is addded to cpu-features.\n>> If glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 is set in GLIBC_TUNABLES\n>> environment variable, the AVX2 wrapper will be used.\n>>\n>> Tested on x86-64 machines with and without AVX512.  Also verified\n>> glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 on AVX512 machine.\n>>\n>> Any comments?\n>\n> But libc selects AVX2 mem/str on SKX, looks like libmvec should do the same (and backward option MathVec_Prefer_AVX512 needed).\n>\n\nAVX2 mem/str  can be called from codes which may use only SSE\nor AVX.  But AVX512 functions in mathvec are called only from AVX512\nprograms.  Do we have benchmarks to show that AVX512 programs\nare faster with AVX2 mathvec?","headers":{"Return-Path":"<libc-alpha-return-84177-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84177-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"CroEkheh\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmLxY5Rfjz9t2R\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  5 Sep 2017 06:27:29 +1000 (AEST)","(qmail 59357 invoked by alias); 4 Sep 2017 20:27:23 -0000","(qmail 59343 invoked by uid 89); 4 Sep 2017 20:27:23 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc:content-type; q=dns; s=default; b=IKFo\n\tSEED+RtH2OURrbHILM5eak0qAzpBqsT2SDbfIbyLmJs1Oo5WvLxniYAneR1WKOXz\n\tZ3aOevKPHP0ErGIcJDn8DZB483H3PI7ejFNxvt73H602sNVWdIOTNY8UZeRvD439\n\tN5gPa3e4kH4bL+5oJDrE65r4GZJiVhOiN4KJVPg=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc:content-type; s=default; bh=jQmIxWJRCY\n\t9TwYA+e+5EObS+CQs=; b=CroEkheherZeoeaNpaDObkBH8blZpxEADsZrj8LnC8\n\tTgkb/vETVM4FL1jzEailNrBVuIjeHwx+FynMeo7foXg6NLtT1jzUNbXrV/UkbEIq\n\tWwwxiZmfxgoPW0Gud9SWOiOJayoQdm73mpwVtTwzIwpjAdhgsjcfFttc3h7Jkou2\n\tU=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-7.0 required=5.0 tests=AWL, BAYES_00,\n\tFREEMAIL_FROM, GIT_PATCH_2, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"mail-oi0-f41.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=BKPM8bgAQ7elH67NbkgbLsx7uiJ52uOL+LBAK9QHDmg=;\n\tb=NEXIZ/o6/eHPkXo+WYbNtwcpF0CbaNdLjeMbw4elMHZNSrW1UmBliuE8S4VR/eISDQ\n\tjSLa5qsUigeNPlL+fyiDK2pcsnvORHq0rxTNEt+f0p2ox9RATDnAakY5611Kh8GZshT6\n\tqoR4kugwLTheYmpd1uJqBIzMTRNRQKCNCQo7HS+Wq9jspj549bKU7Fd4JfHfy60CQ3ji\n\tGH8S0Zy8v/i4PlJPYSpY45tEU5QeKY8Hu+dge97iw5tDiYFvNt17gNYQV9NMoL/KD0QU\n\t492lIbHwcGvU9nvbmlCoAfRGtgUD7Yol96VaPityYL9fyFJMeijDaY7g8zq5KKeg51hY\n\tFmEA==","X-Gm-Message-State":"AHPjjUg2X4YJ7TNbt9xSoh5RGdPknsJ4Jbn8O1AYHTfCBVB9eXkskd7N\n\ttfuk3jRS1XEGlpRuJ8qArgayZYpXRQ==","X-Google-Smtp-Source":"ADKCNb4Am0xVMza6Xrw2KOKH3vEL5srKf5pUNkQGl8xT9lpWgZEa1t6LK6xSl6Pmdu91wBOfFh2Htp0rWkxKXHiR5jk=","X-Received":"by 10.202.102.144 with SMTP id m16mr1572309oik.194.1504556836770;\n\tMon, 04 Sep 2017 13:27:16 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<D373487E0338A646909492FF43BA8BE356BA7C08@irsmsx110.ger.corp.intel.com>","References":"<20170901174034.GA17543@gmail.com>\n\t<D373487E0338A646909492FF43BA8BE356BA7C08@irsmsx110.ger.corp.intel.com>","From":"\"H.J. Lu\" <hjl.tools@gmail.com>","Date":"Mon, 4 Sep 2017 13:27:16 -0700","Message-ID":"<CAMe9rOrOg8ZDpPG94s51xmVVLLnye1gDXOZLxjaSt6t49jfqzw@mail.gmail.com>","Subject":"Re: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","To":"\"Senkevich, Andrew\" <andrew.senkevich@intel.com>","Cc":"GNU C Library <libc-alpha@sourceware.org>","Content-Type":"text/plain; charset=\"UTF-8\""}},{"id":1767125,"web_url":"http://patchwork.ozlabs.org/comment/1767125/","msgid":"<D373487E0338A646909492FF43BA8BE356BAA216@irsmsx110.ger.corp.intel.com>","list_archive_url":null,"date":"2017-09-12T14:27:23","subject":"RE: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","submitter":{"id":65435,"url":"http://patchwork.ozlabs.org/api/people/65435/","name":"Senkevich, Andrew","email":"andrew.senkevich@intel.com"},"content":"> -----Original Message-----\r\n> From: H.J. Lu [mailto:hjl.tools@gmail.com]\r\n> Sent: Monday, September 4, 2017 22:27\r\n> To: Senkevich, Andrew <andrew.senkevich@intel.com>\r\n> Cc: GNU C Library <libc-alpha@sourceware.org>\r\n> Subject: Re: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\r\n> #21967]\r\n> \r\n> On Mon, Sep 4, 2017 at 3:16 AM, Senkevich, Andrew\r\n> <andrew.senkevich@intel.com> wrote:\r\n> >> -----Original Message-----\r\n> >> From: Lu, Hongjiu\r\n> >> Sent: Friday, September 1, 2017 19:41\r\n> >> To: GNU C Library <libc-alpha@sourceware.org>\r\n> >> Cc: Senkevich, Andrew <andrew.senkevich@intel.com>\r\n> >> Subject: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features\r\n> >> [BZ #21967]\r\n> >>\r\n> >> AVX512 functions in mathvec are used on machines with AVX512.  An\r\n> >> AVX2 wrapper is also provided and it can be used when the AVX512\r\n> >> version isn't profitable.  MathVec_Prefer_No_AVX512 is addded to cpu-\r\n> features.\r\n> >> If glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 is set in\r\n> >> GLIBC_TUNABLES environment variable, the AVX2 wrapper will be used.\r\n> >>\r\n> >> Tested on x86-64 machines with and without AVX512.  Also verified\r\n> >> glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 on AVX512 machine.\r\n> >>\r\n> >> Any comments?\r\n> >\r\n> > But libc selects AVX2 mem/str on SKX, looks like libmvec should do the same\r\n> (and backward option MathVec_Prefer_AVX512 needed).\r\n> >\r\n> \r\n> AVX2 mem/str  can be called from codes which may use only SSE or AVX.  But\r\n> AVX512 functions in mathvec are called only from AVX512 programs.  Do we\r\n> have benchmarks to show that AVX512 programs are faster with AVX2 mathvec?\r\n\r\nI agree, if compiler vectorizes with AVX512 then Glibc should use AVX512 implementations in mathvec by default.\r\n\r\n\r\n--\r\nAndrew","headers":{"Return-Path":"<libc-alpha-return-84505-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84505-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"G8MeaRTv\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xs6Zb3qSYz9s0Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 00:27:35 +1000 (AEST)","(qmail 51080 invoked by alias); 12 Sep 2017 14:27:28 -0000","(qmail 51070 invoked by uid 89); 12 Sep 2017 14:27:27 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:references\n\t:in-reply-to:content-type:content-transfer-encoding\n\t:mime-version; q=dns; s=default; b=JFK8dxJiDTQNd1+2PHV4gmyMvJBif\n\t3usftAVn3mOLtipvkllK6bAvhDm/QaPJqONpXhdohFpzMw0zBcyTRVzsbmKjHEpo\n\tVUkZ2tgwD9nheqwM1xojyVIjh4dZxYQ5/qD04pd+dg9bUT1Mi0dAkTwMLiFV1MKO\n\tXuOgeu9mJs9QKs=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:from:to:cc:subject:date:message-id:references\n\t:in-reply-to:content-type:content-transfer-encoding\n\t:mime-version; s=default; bh=WBQzkj45HFpxAatZoTBQMp4HC44=; b=G8M\n\teaRTviMqZ9HUyXAQfvQtgM/8Frznomak/wqg/dRKg5YEHPgdwkSugCdVdTE6IjuH\n\tjiL+MG+PQwYNP75fiQhc92TF13sKpV2BC2NIMS7UlwYvC1/5gwdNlBtMm0knW1RE\n\tEw9t2jCdv1/zRSGY+pdflml+RWjcqqsbdWve6Sjw=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-6.7 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_2, MIME_BASE64_BLANKS, RP_MATCHES_RCVD,\n\tSPF_PASS autolearn=ham version=3.3.2\n\tspammy=HX-Envelope-From:sk:andrew.","X-HELO":"mga04.intel.com","X-ExtLoop1":"1","From":"\"Senkevich, Andrew\" <andrew.senkevich@intel.com>","To":"\"H.J. Lu\" <hjl.tools@gmail.com>","CC":"GNU C Library <libc-alpha@sourceware.org>","Subject":"RE: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","Date":"Tue, 12 Sep 2017 14:27:23 +0000","Message-ID":"<D373487E0338A646909492FF43BA8BE356BAA216@irsmsx110.ger.corp.intel.com>","References":"<20170901174034.GA17543@gmail.com>\n\t<D373487E0338A646909492FF43BA8BE356BA7C08@irsmsx110.ger.corp.intel.com>\n\t<CAMe9rOrOg8ZDpPG94s51xmVVLLnye1gDXOZLxjaSt6t49jfqzw@mail.gmail.com>","In-Reply-To":"<CAMe9rOrOg8ZDpPG94s51xmVVLLnye1gDXOZLxjaSt6t49jfqzw@mail.gmail.com>","dlp-product":"dlpe-windows","dlp-version":"11.0.0.116","dlp-reaction":"no-action","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0"}},{"id":1767136,"web_url":"http://patchwork.ozlabs.org/comment/1767136/","msgid":"<CAMe9rOowgRV-v7hKx_ZNtzFsEAssbmxT1ngvZp0Gh41PQFXxtA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-12T14:43:21","subject":"Re: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","submitter":{"id":4387,"url":"http://patchwork.ozlabs.org/api/people/4387/","name":"H.J. Lu","email":"hjl.tools@gmail.com"},"content":"On Tue, Sep 12, 2017 at 7:27 AM, Senkevich, Andrew\n<andrew.senkevich@intel.com> wrote:\n>> -----Original Message-----\n>> From: H.J. Lu [mailto:hjl.tools@gmail.com]\n>> Sent: Monday, September 4, 2017 22:27\n>> To: Senkevich, Andrew <andrew.senkevich@intel.com>\n>> Cc: GNU C Library <libc-alpha@sourceware.org>\n>> Subject: Re: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n>> #21967]\n>>\n>> On Mon, Sep 4, 2017 at 3:16 AM, Senkevich, Andrew\n>> <andrew.senkevich@intel.com> wrote:\n>> >> -----Original Message-----\n>> >> From: Lu, Hongjiu\n>> >> Sent: Friday, September 1, 2017 19:41\n>> >> To: GNU C Library <libc-alpha@sourceware.org>\n>> >> Cc: Senkevich, Andrew <andrew.senkevich@intel.com>\n>> >> Subject: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features\n>> >> [BZ #21967]\n>> >>\n>> >> AVX512 functions in mathvec are used on machines with AVX512.  An\n>> >> AVX2 wrapper is also provided and it can be used when the AVX512\n>> >> version isn't profitable.  MathVec_Prefer_No_AVX512 is addded to cpu-\n>> features.\n>> >> If glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 is set in\n>> >> GLIBC_TUNABLES environment variable, the AVX2 wrapper will be used.\n>> >>\n>> >> Tested on x86-64 machines with and without AVX512.  Also verified\n>> >> glibc.tune.hwcaps=MathVec_Prefer_No_AVX512 on AVX512 machine.\n>> >>\n>> >> Any comments?\n>> >\n>> > But libc selects AVX2 mem/str on SKX, looks like libmvec should do the same\n>> (and backward option MathVec_Prefer_AVX512 needed).\n>> >\n>>\n>> AVX2 mem/str  can be called from codes which may use only SSE or AVX.  But\n>> AVX512 functions in mathvec are called only from AVX512 programs.  Do we\n>> have benchmarks to show that AVX512 programs are faster with AVX2 mathvec?\n>\n> I agree, if compiler vectorizes with AVX512 then Glibc should use AVX512 implementations in mathvec by default.\n>\n\nI am checking it in.   Thanks.","headers":{"Return-Path":"<libc-alpha-return-84513-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84513-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"ZY7aQmKE\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xs6x06fxKz9sRg\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 00:43:32 +1000 (AEST)","(qmail 919 invoked by alias); 12 Sep 2017 14:43:25 -0000","(qmail 905 invoked by uid 89); 12 Sep 2017 14:43:25 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc:content-type; q=dns; s=default; b=idSO\n\tOmfeK17rLJRCsa4RXTw128QiXbbPM6fTrrbD8NHxW9lg1QmaK/tONnB1Sc2OY3WZ\n\tShY26wZ9H+DqqPauKY7RpwmGjslMV7CStNLRS/pKV968mz2uIZjJzEoo/rG2E28I\n\tALOMPHSHdKoHv0QwffAjz8GaQJiSsBi8M//vDQI=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc:content-type; s=default; bh=Lc8EKsORMj\n\tHUVjl80qNFcdJ94tk=; b=ZY7aQmKEZEG1VdE+hoFtMtJZJa9NHsbtjJ5IpBvOYQ\n\t7Ol084d73UEz+t2G8fys454f/+v3q/BNQptrg1pQ/+kZE4sVeLjK2l1gERGru0Kn\n\tDCFtlALUR4/8ScMxBr4hfoNYGA49lOkRj8TU1e0mbocqgKHsNM6B5hQgn6IigeEp\n\tg=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-7.4 required=5.0 tests=AWL, BAYES_00,\n\tFREEMAIL_FROM, GIT_PATCH_2, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1945","X-HELO":"mail-io0-f172.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=GTB+qoo+xlt1YKjI9vmvQmLqrzwoFTbeezPxLNhqQfE=;\n\tb=cXLSlVVIP0gr+NA3kxI4tIPxNEvOoU7ob+nan5pCyfdWwek1SXtH2oBOmGs5WaD56m\n\tUSuB/HOeg++xLU/H3K0JxTpk9t22R7DgtfdDTbo+zkzjn0rJcLEg9gdQ8miXxB0QjNY8\n\tOwPY2O+f1nzb0wm+T7c5nZBewTeW0/4ZjSGvHaZJc53QXgreWQ+0CQZ4aJrVjuenm8Pl\n\tKh+vEjm6L/8IceKD5t12cYwdLykFaJlFd3uzjndio0kc65n1q75eMmIFKK053fZiWYdY\n\t+nyaklo01ocIBh/kmxNqsxJoGAlBcHz9sh510BUKyQEfZCqL19EATLw0kKTPzYS+gIGI\n\tmwIw==","X-Gm-Message-State":"AHPjjUg7Y6W5aEZPu72Z7epQ3FN2eke2p60bHQa3XSG6GYsC8DCetzHr\n\tLRNfsYGvZqpVWnjZ637cwWUZ8Fgo3g==","X-Google-Smtp-Source":"AOwi7QDGfeMsTUve0j3+lOaVr/konDFvY/n5lg0KPyad2Lygf9Pn7aGO7xd67z2hbi6dIezd/gpMiQlcAktJIcYIKcs=","X-Received":"by 10.202.102.25 with SMTP id a25mr14088007oic.301.1505227402110;\n\tTue, 12 Sep 2017 07:43:22 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<D373487E0338A646909492FF43BA8BE356BAA216@irsmsx110.ger.corp.intel.com>","References":"<20170901174034.GA17543@gmail.com>\n\t<D373487E0338A646909492FF43BA8BE356BA7C08@irsmsx110.ger.corp.intel.com>\n\t<CAMe9rOrOg8ZDpPG94s51xmVVLLnye1gDXOZLxjaSt6t49jfqzw@mail.gmail.com>\n\t<D373487E0338A646909492FF43BA8BE356BAA216@irsmsx110.ger.corp.intel.com>","From":"\"H.J. Lu\" <hjl.tools@gmail.com>","Date":"Tue, 12 Sep 2017 07:43:21 -0700","Message-ID":"<CAMe9rOowgRV-v7hKx_ZNtzFsEAssbmxT1ngvZp0Gh41PQFXxtA@mail.gmail.com>","Subject":"Re: [PATCH] x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ\n\t#21967]","To":"\"Senkevich, Andrew\" <andrew.senkevich@intel.com>","Cc":"GNU C Library <libc-alpha@sourceware.org>","Content-Type":"text/plain; charset=\"UTF-8\""}}]