All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiaxi Chen <jiaxi.chen@linux.intel.com>
To: kvm@vger.kernel.org
Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	seanjc@google.com, pbonzini@redhat.com, ndesaulniers@google.com,
	alexandre.belloni@bootlin.com, peterz@infradead.org,
	jpoimboe@kernel.org, chang.seok.bae@intel.com,
	pawan.kumar.gupta@linux.intel.com, babu.moger@amd.com,
	jmattson@google.com, sandipan.das@amd.com, tony.luck@intel.com,
	sathyanarayanan.kuppuswamy@linux.intel.com, fenghua.yu@intel.com,
	keescook@chromium.org, nathan@kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v4 2/6] x86: KVM: Advertise AMX-FP16 CPUID to user space
Date: Fri, 18 Nov 2022 22:15:05 +0800	[thread overview]
Message-ID: <20221118141509.489359-3-jiaxi.chen@linux.intel.com> (raw)
In-Reply-To: <20221118141509.489359-1-jiaxi.chen@linux.intel.com>

From: "Chang S. Bae" <chang.seok.bae@intel.com>

Latest Intel platform Granite Rapids has introduced a new instruction -
AMX-FP16, which performs dot-products of two FP16 tiles and accumulates
the results into a packed single precision tile. This instruction adds
FP16 capability and also allows a FP16 GPU trained model to run faster
without loss of accuracy or added SW overhead.

The bit definition:
CPUID.(EAX=7,ECX=1):EAX[bit 21]

This CPUID is exposed to user space. Besides, there is no other VMX
control for this instruction.

Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Signed-off-by: Jiaxi Chen <jiaxi.chen@linux.intel.com>
---
 arch/x86/include/asm/cpufeatures.h | 1 +
 arch/x86/kvm/cpuid.c               | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index 19db3940f262..df4a7f7505a9 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -309,6 +309,7 @@
 #define X86_FEATURE_AVX_VNNI		(12*32+ 4) /* AVX VNNI instructions */
 #define X86_FEATURE_AVX512_BF16		(12*32+ 5) /* AVX512 BFLOAT16 instructions */
 #define X86_FEATURE_CMPCCXADD           (12*32+ 7) /* CMPccXADD instructions */
+#define X86_FEATURE_AMX_FP16		(12*32+21) /* AMX fp16 Support */
 
 /* AMD-defined CPU features, CPUID level 0x80000008 (EBX), word 13 */
 #define X86_FEATURE_CLZERO		(13*32+ 0) /* CLZERO instruction */
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 7ab7cc717b1c..2a334d4cd04e 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -657,7 +657,7 @@ void kvm_set_cpu_caps(void)
 		kvm_cpu_cap_set(X86_FEATURE_SPEC_CTRL_SSBD);
 
 	kvm_cpu_cap_mask(CPUID_7_1_EAX,
-		F(AVX_VNNI) | F(AVX512_BF16) | F(CMPCCXADD)
+		F(AVX_VNNI) | F(AVX512_BF16) | F(CMPCCXADD) | F(AMX_FP16)
 	);
 
 	kvm_cpu_cap_mask(CPUID_D_1_EAX,
-- 
2.27.0


  parent reply	other threads:[~2022-11-18 14:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-18 14:15 [PATCH v4 0/6] x86: KVM: Advertise CPUID of new Intel platform instructions to user space Jiaxi Chen
2022-11-18 14:15 ` [PATCH v4 1/6] x86: KVM: Advertise CMPccXADD CPUID " Jiaxi Chen
2022-11-18 16:47   ` Dave Hansen
2022-11-18 18:34     ` Borislav Petkov
2022-11-21 14:46     ` Jiaxi Chen
2022-11-21 15:29       ` Dave Hansen
2022-11-21 15:48         ` Sean Christopherson
2022-11-21 15:53           ` Borislav Petkov
2022-11-21 17:28             ` Sean Christopherson
2022-11-21 19:50               ` Borislav Petkov
2022-11-23  6:33         ` Jiaxi Chen
2022-11-21 15:38       ` Borislav Petkov
2022-11-23  7:46         ` Jiaxi Chen
2022-11-18 14:15 ` Jiaxi Chen [this message]
2022-11-18 14:15 ` [PATCH v4 3/6] x86: KVM: Advertise AVX-IFMA " Jiaxi Chen
2022-11-18 16:08   ` Sean Christopherson
2022-11-21 14:46     ` Jiaxi Chen
2022-11-18 14:15 ` [PATCH v4 4/6] x86: KVM: Advertise AVX-VNNI-INT8 " Jiaxi Chen
2022-11-18 17:17   ` Sean Christopherson
2022-11-21 15:06     ` Jiaxi Chen
2022-11-18 14:15 ` [PATCH v4 5/6] x86: KVM: Advertise AVX-NE-CONVERT " Jiaxi Chen
2022-11-18 14:15 ` [PATCH v4 6/6] x86: KVM: Advertise PREFETCHIT0/1 " Jiaxi Chen
2022-11-18 15:11 ` [PATCH v4 0/6] x86: KVM: Advertise CPUID of new Intel platform instructions " Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221118141509.489359-3-jiaxi.chen@linux.intel.com \
    --to=jiaxi.chen@linux.intel.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=chang.seok.bae@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=jmattson@google.com \
    --cc=jpoimboe@kernel.org \
    --cc=keescook@chromium.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sandipan.das@amd.com \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.