Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rqevX-00DVXH-IK for pgsql-hackers@arkaria.postgresql.org; Sat, 30 Mar 2024 20:03:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rqevU-00ADGq-Lv for pgsql-hackers@arkaria.postgresql.org; Sat, 30 Mar 2024 20:03:40 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rqevT-00ADF6-RH for pgsql-hackers@lists.postgresql.org; Sat, 30 Mar 2024 20:03:40 +0000 Received: from mail-io1-xd31.google.com ([2607:f8b0:4864:20::d31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rqevL-007J4F-QI for pgsql-hackers@lists.postgresql.org; Sat, 30 Mar 2024 20:03:38 +0000 Received: by mail-io1-xd31.google.com with SMTP id ca18e2360f4ac-7c8d2e0e9cfso92997439f.1 for ; Sat, 30 Mar 2024 13:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711829012; x=1712433812; darn=lists.postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=4k+6KYRYaRgZlr6bv6BsNQjg6fkx6R390hqZ7UaTK+E=; b=Ud1EtMFmwWITbBswE19jjX2GDVBCqWE5PmW4cfqtMqKvFwcVMEhUJcUR38LTUp6Eeg FgkU0MWNXDXfGg5Y9g2NIbfysq32oSjG2fvxZAsle/ymJA9aXlHz9NaVFlZk9vo4eDik DgEnDJGspm1m9BcslPYyeDZEkxXmt0NC5zLRAPbMpWUJ1GQCQrdfsmqhLz3xEZC7UEOr sRWRhZo/EbcQdtjDY2MypcnVxCfI2UEpRNAaErGu5ST3CoBgfho29KrkpkOKsH7QNMvF svxgG3QBPoNE7ExqitwnUBah6k4hVDYjzRRI7SmYD0QQcJGhAhUhuvRVYcGg750pqkdy r3Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711829012; x=1712433812; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4k+6KYRYaRgZlr6bv6BsNQjg6fkx6R390hqZ7UaTK+E=; b=YKwwnREvBo107wPXrE/KROFBTMxll4TCKCMY30PCDNjpsQFu30OKpXlvngdB5fPA8D xKaNlLas1tKf9JbB3sGlsLOBxDYMw2NlY4Q65zUDABVzVBpMst6IeRg4JVs7kJCwWbGW jFA11R+ubU3pFRIp0FwaAO1oks6nwG3WsrwISGNgabkNW96G4AeFN3974TBLXutsUj1d QcDNCXcPux06dULnL/c+A2q5c5FzrRASQdkdld6yhfpinK5xGJACwhWKP5BG9pxVppVH sCQAtjqR/ciz+bwqWM7SFPTIylouAN58Yn6HsdemWxtwFnyPQCK2Njdv2XmhjBE5cMH4 Podw== X-Forwarded-Encrypted: i=1; AJvYcCX9wWjJwb/iQsqNmKtDPmRw6utgwCB8+Uwygq+DOzKnKmEtRsTXVCOm9rlVxzdpuCyQovlWTTB3HdA/ucsGUQZt5U/MeMvRQbsFYkMakV1eW5zz X-Gm-Message-State: AOJu0Yw6aS1A9HDuhrVFTMU9XuqqJ1uqwm+nHj1EH0I6Wl+GKBbcW7X8 Hd98c/oHCdrHEkgpZvTD/wMWbaNm/JkgPpjEpnsejQLzmIFUSTje X-Google-Smtp-Source: AGHT+IEgsuGF8oaoU7EMyWNcHCtLLE2YLcVkWm+pQhaxfvTExavP5pSIKznDgnIN/aC5hV/92SI+Tw== X-Received: by 2002:a05:6602:738:b0:7d0:babd:a767 with SMTP id g24-20020a056602073800b007d0babda767mr1003300iox.16.1711829011950; Sat, 30 Mar 2024 13:03:31 -0700 (PDT) Received: from nathanxps13 (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id p20-20020a5d9854000000b007d02d49bc80sm1711475ios.50.2024.03.30.13.03.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Mar 2024 13:03:31 -0700 (PDT) Date: Sat, 30 Mar 2024 15:03:29 -0500 From: Nathan Bossart To: "Amonson, Paul D" Cc: Tom Lane , David Rowley , Andres Freund , Alvaro Herrera , "Shankaran, Akash" , Noah Misch , Matthias van de Meent , "pgsql-hackers@lists.postgresql.org" Subject: Re: Popcount optimization using AVX512 Message-ID: <20240330200329.GA2047466@nathanxps13> References: <20240328213854.GA916732@nathanxps13> <20240329155940.GC1046039@nathanxps13> <20240329162211.GB1106154@nathanxps13> <20240329191312.GA1411904@nathanxps13> <20240329200828.GB1411904@nathanxps13> <20240329205741.GA1593561@nathanxps13> <20240330032209.GA2018686@nathanxps13> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="IJpNTDwzlM2Ie8A6" Content-Disposition: inline In-Reply-To: <20240330032209.GA2018686@nathanxps13> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --IJpNTDwzlM2Ie8A6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I used John Naylor's test_popcount module [0] to put together the attached graphs (note that the "small arrays" one is semi-logarithmic). For both graphs, the X-axis is the number of 64-bit words in the array, and Y-axis is the amount of time in milliseconds to run pg_popcount() on it 100,000 times (along with a bit of overhead). This test didn't show any regressions with a relatively small number of bytes, and it showed the expected improvements with many bytes. There isn't a ton of use of pg_popcount() in Postgres, but I do see a few places that call it with enough bytes for the AVX512 optimization to take effect. There may be more callers in the future, though, and it seems generally useful to have some of the foundational work for using AVX512 instructions in place. My current plan is to add some new tests for pg_popcount() with many bytes, and then I'll give it a few more days for any additional feedback before committing. [0] https://postgr.es/m/CAFBsxsE7otwnfA36Ly44zZO+b7AEWHRFANxR1h1kxveEV=ghLQ@mail.gmail.com -- Nathan Bossart Amazon Web Services: https://aws.amazon.com --IJpNTDwzlM2Ie8A6 Content-Type: image/jpeg Content-Disposition: attachment; filename="avx512_popcnt.jpg" Content-Transfer-Encoding: base64 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 3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW 3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BbcFtwW3BQ6/gh9Xx4+r4IfV8ePq+CH1fHj6vgh 9Xx4+r4IfV8ePq9t/wCGKSvVtyJ49rciePa3Inj2aL1rbyZlCbbebLNlmyzZZss2WbLNlmyz ZZss2WbLNlmyzZZss2WbLNlmyzZZss2WbLNlmyzZZss2WbLNlmyzZZss2WbLNlmyzZbjLcZZ ss2WbLNlmyH1e27axhRaLxpDUaQ1GkNCqxHND6viPKf/AEvCf+5+I+r4IfV8PZ8jKc4eFhKN XxwqhPxH1fBD6vhSEgKEzWPKTrVBVIfmPq+CH1fCWrgqkB1j+SnCERw/QPq+CH1fB3PIsKVX xz5/qH1e6M4ivAwiqBhFUDCL9B9XwLu0WNcNdJTojqR/WPq9y67NRsxLCHkMcfIY4/6+c+Sh nt6TWk1pNaTWk1pNaTWk1pNaTWk1pNaTWk1pNaTWk1pNaTWk1pNaTWk1pNaTWk1pNaTWk1pN aTWk0c7VhtGz5Zwg2B6TWk1pNaTWk1pNaTWk1pNaTWk1pND6vdGAQngEQlAIhKARC+g+r37n kIVUCgSyRm0b9o+r4IfV71nyEykp+OjX9AfV8EPq9whYBhItjys61UVUfoD6vgh9Xt27oqkB 1T+RnGMYR9EfV8EPq9q35HCVTx2M/TH1e4ScRDhf1i95xJ7ziQ7M95D6vYlJoRLbNfJUoiqR 9QfV+M7QByt+RGKuLzRpG5tVDLAsYeUE9El6bFjZxqQsl4vIsirftsi36xKhbUT1z3mPXPea MTGsvFnUINt4MsGWDLBlgywZYMsGWDLBlgywZYMsGWDLBlgywZYMsGWDLBlgysFDWHAR/KTH XEGGDLBlgywZYMsGWDLBlgywZYMsGWDLBlgywZYMsGWDLBlgyH1fiXx9Y5bHhwyCPwhmJ9pp oFcdaA6ko+N49gZiANZadF2k9e0Wv6Y+r1rnkIVlX8eQ5PXH1fBD6vVseQmclPx8K3sj6vxN aIMr3j6AtnjPnGVcsiw5LciRGo2Zh49La5NAA4wNVGP7ZTE0SyHCfkYinltwrX69fdoQFC1c tVxbTEc1qFKr9z/SPq9PyF+yG8I1q+SvWHVH7I+r84ihB1JmlHZHsTrCJFxQkSVYM3jUDGP2 +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 QFAQFCMwUmEgM8E0YGJygaGx0aLhU3OC/9oACAEBAAY/Av3TmoxMFzTCMqZzJ2TXiIOr3C8S dPgvEwtWKC8SdPhyXiYWrFBeJOnw5JkONB1ZeJt3p/ucSBP7LSXe6Pm91bZub0H3UVkWDEEa KyRiOLZD7bDwUnw9VSxw2mc3H9FJ8PVUscNpnNx/RQokSFqxCB5gzJW1owTd0cOisNwVhuCs NwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNw VhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVhuCsNwVh uCsNwVhuCsNwTe3obe3qDe3obe3qDe3obe3qDe3obe3qDe3obe3qDe3nNmxae7WOe6G7dLv5 QgYcV7qobp1untA4oGHFe6qG6dbp7QOKBhxXuqhunW6e0DioDBEiPEQEOrdPhzXPBN48PpV7 KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KV eylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVeylXspV7KVey lXspV7KVeylN7ecInL7hRKo0WI2Jba6Ujsl0XxHPi7tArPAL4jnxd2gVngF8Rz4u7QKzwCDz EiRC0UtrPAexvb0mL/T/AAn/APr/AFH4m9vQ29vSPd9DFcQ3uiqjxXmIeMii+G55JEt78Te3 obe3oxe91LRzRhwJw4F53VUwxt5nr8hvb0Nvb0Wbzvcm9UI2lTZBusQawANHIfJb29Db29E1 MAayMdmzktfpZrinl0+W3t54iHFY+XGl00dXEY+XGkzR1cRj5caTNHVxGPlxpM/Y3t6ES4yA 5owNC2NvRFs3n83fMb287HLgSKDMBCb2Pd7s8M1YlLgme7S/IfY+mSZ7tL8h9j6ZLRNTTKh1 n6VsIwTdo4dFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFabgr TcFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFabgrTcFXEiNA7cVNx1ejj+6DIdI H8qtNwVpuCtNwVpuCtNwVpuCtNwVpuCtNwVpuCtNwVpuCb288TDhMZPjS2SOrhsZPjSJTR1c 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 Fb0Ro/qvzB/RbCT2C+Fo5P3W0thhF2trifdVRBN/+PNt7egOe4ya0TJQYYcSGXCbaxxQhQpN 2Tq9gMjKagtaNjWAGfNTme0kdW01fdGjeLuRV1im/SJdl8WM5ytvVNz6lberb1berb1tqd3K /LH9VMQ2j+nn29vQI0NtpzTJQHiHEYIYNVbZbTyQcyE9wo4gTTQIL9vMt2L4pDh9kCzdbzC/ LC54oloOKvZir2Yppm7h9RV7MVezFXsxV7MVezFXsxV7MU0zdw+oq9mKvZir2Yq9mKvZir2Y q9mKaZu4fUVezFXsxV7MVezFXsxV7MVezFNM3cPqKvZir2Yq9mKvZir2Yq9mKvZimmbuH1FX sxV7MVezFXsxV7MVezFXsxTe3766NCd+W+JvDrsK0mEzZDaWyHTZ+GE0CG6USZbE4HYUzQzB hw2634gh2XbswvdJeH1o3eVgmS90l4fWjd5WCZL3SXh9aN3lYJktJhM2Q2lsh02e1jts3QnT mfuE/S5eIEU73O3KSfpcvECKd7nblJP0uXiBFO9ztykn6XLxAine525ST9Ll4gRTvc7cpe1j ts3QnTmfuE/SYkDR4g1pdVetJ+ly8QIp3uduUk/S5eIEU73O3KSfpcvECKd7nblJP0uXiBFO 9ztyl7aYIJj1hz4v0fb/AKT9Ll4gRTvc7cpJ+ly8QIp3uduUk/S5eIEU73O3KSfpcvECKd7n blJP0uXiBFO9ztyl7aYIJj1hz4v0fb/pP0mJA0eINaXVXrSfpcvECKd7nblJP0uXiBFO9zty kn6XLxAine525ST9Ll4gRTvc7cpe0R2NaW6wF0cOm4beCfpcvECKd7nblJP0uXiBFO9ztykn 6XLxAine525ST9Ll4gRTvc7cpJ+ly8QIp3uduUvQKXiYVLBLmec/w0xBORmPsjDo2E1cTOfW a1dG7Orjtn1mtXRuzq47Z9ZrV0bs6uO2fWapYJczzn7dadZX11rv9rWUb06uOyfWS1lG9Orj sn1ktZRvTq47J9ZLWUb06uOyfWS1lG9Orjsn1l7dadZX11rv9qujbOqUzKfWXBayjenVx2T6 yWso3p1cdk+slrKN6dXHZPrJayjenVx2T6y9pcNYJmoyiu44rWUb06uOyfWS1lG9Orjsn1kt ZRvTq47J9ZLWUb06uOyfWS1lG9Orjsn1l7S4awTNRlFdxxVdG2dUpmU+suC1lG9Orjsn1ktZ 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 rf/Z --IJpNTDwzlM2Ie8A6 Content-Type: image/jpeg Content-Disposition: attachment; filename="avx512_popcnt_small_arrays.jpg" Content-Transfer-Encoding: base64 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 0DGgY0DGgY0BaEY+ce77Nza5x7vs3NrnHu+zc2uce77N59lCUSGXFc0932eq/wDpaT/3eae7 7OY0iVqrUCMwvluuvJWw6T7B7vsn3SYY01o+15kvOt1H+WqFkoQoQoQoQoQoQoQoQoQoQoQo QoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQoQo QoQoQ1P/AGvm0ltjnHu+xUokJ01JyJLm1zj3fY6u8aWIzJR47m1zj3fYx/52qhza5x7vsNTk YIenx+2iBza5x7vsFfz9X/Dm1zj3fXzZHbRdKj4Yn4c2uUZ9CjSDfD0paJCetT3fXyv52p/l za5Rn0TGN9LrqVKcisqah0LJQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQh QhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhQhKWmNG0qN0YoQoQoQWgsfOPd9dOM5 s8iIi/Lm1zj3fWyXyjR9JYMm/o5tc4931s0znTyIiL6ObX5XJYbVL1FtqO1rTynu9iht1DpI 1Ro4Lk5ZOpk1iIku9r3ElqNwT3fWTJBRY2lRzbZ+rm1+XdPjPuyNHZUy3ojxOfEwwxHbjIbi KTpvbyG3nGHpJLgmSjjynY/BPd9Y7/yWpfZza5x7vq9SldtH0+L2sb7ObX5elONunOf6MS30 r754R3VOo7ku4U4UGStnt4WLuYDDaUPRW2/jIbRJdU2heopaXbGiNPjx8sBDSJUyVHaxE4b0 pEKL8n9ZMk2DB7vqlKJCIiTnzfu5tfVLSEGFESk4W8C4zTiTaQpxUZlZpiMpT8fGJtqOhk0t oS46y2+lqM0ypttDLbsVl5RRmUpOO0cjGgnfrOyrSkzWihZKEKEKEKEKEKEKEKEKEKEKEKEK EKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEKEJyzkyWo6GW6EK EKEKEKEKEKEFoLHzj3fUS3+2iq1xw06SwSI3gc2uce76jVlpTp5RZCigJUiF4HNrnHu+nkyW 4rUeO5qD3ic2uce76aZPaiFHhOynfG5tc4930jz7TCVz5ExUTTURz8jm1zj3eHIdwx/mnasa gy4x3sUd7FHexR3sUIkMuCxCxCxCZqhxZETVjkyFSWEGvU4iDc1lrrfVJQa0hFkpShPlc2uU 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 giLg3MSirktQP5yAUM/pdb7cfZtR6QCABBxBQ+MDAD2nrfbj7NqPdOt9uPs2o906324+zaj3 TrfbjWeo0AZC5EqtwAhWbUe6db7caP8AcERuALYYENHEAOIl26osL88hT2JU9iVPYlT2JU9i VPYlT2JU9iVPYlT2JQTjhAncU9iVPYlT2JU9iVPYlT2JU9iVPYlT2JRHDBI/wlT2JU9iVPYl T2JU9iVPYlT2JU9iVPYlT2JQTjhAncU9iVPYlT2JU9iVPYlT2JU9iVPYlT2JRHDBI/wlT2JU 9iVPYlT2JU9iVPYlT2JU9iVPYlCFfHzf9kQ8SOk5CNB6TiIAidTSQz5L+dI+A+HxafSDGY/Y M4+eUc/SFsArUWyJEM88BRN0CLzgIN8scB6JoKLkMPBhGf17g4sYcCmaEMURLSDqUIn4egWA JJYaosd/cKSkZrgMEbUaGNTYiuRro3HN0xKAM9WhHpGIRUpB1cggQZ5vsh9Ikes3Cx9IGbnA EglqCKhBw4e4CJJqfRzbD1H+kEzp6WoJhUehY+cBIi1JNT6JWILyLjsjD4RxkOYQ+KP+s//a AAwDAQACAAMAAAAQ4808888888888888888888888888888888888888888c4MMMMMMMMMMM MMMMMMMMMMMMMMY888888888888888o8888888888888888888888888o888888888888888 o8888888888888888888888888pd88888888888888o8888888888888888888888888p888 8888888888884MMMMMMMMMMMMMMMMMMMMMMMMIS888888888888888o88888888888888888 8888888tL888888888888888o888888888888888888888888+o888888888888840g88888 888888888888888888sXo88888888888888c4MMMMMMMMMMMMMMMMMMMMMMMyMY888888888 888888o8888888888888888888888t18o8/0w40088888888o8888888888888888888888a 88o88O9Mcc88888888o888888888888888888888r888o8t6fcY8YUUMU88sYMMMMMMMMMMM MMMMMMMMMCNMMMY888888888888888o8888888888888888888/sc888o888888888888888 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 --IJpNTDwzlM2Ie8A6--