amd / RyzenAI-SW

MIT License
405 stars 65 forks source link

AMD IPU Device not detected on 7940hs #5

Closed abdulmueid closed 9 months ago

abdulmueid commented 1 year ago

Hi,

Just purchased a 7940hs based mini pc (GMKTec K4) and I am unable to detect the AMD IPU Device in Device Manager. I have the drivers available and tried installing them, but it looks like the IPU device itself does not exist.

Looking at the drivers .inf file, it appears to be looking for a device with hardware ID: PCI\VEN_1022&DEV_1502

I ran Get-PnpDevice -PresentOnly | Sort-Object -Property "Class" | Format-Table -AutoSize to get all the hardware IDs present on the system and cannot find the hardware ID that IPU Device driver is looking for. See attached output of the command below.

HardwareIDs.txt

These are the scenarios coming to my mind:

  1. There is a mismatch between the driver and the IPU device Hardware IDs. Can someone please share your hardware ID by going to device manager and checking AMD IPU Device properties?
  2. The IPU device is somehow disabled in the BIOS. Can someone please check if there is a toggle for IPU in the BIOS? The bios on my device is extremely basic and does not allow any advanced config.
  3. My CPU is missing the IPU device which is extremely odd. One of the main reasons I chose this CPU was to use the IPU device. If this is the case I will have to check with the manufacturer or RMA/return the device.

Any help will be much appreciated.

Thank you

quentonh commented 1 year ago

Hi @abdulmueid,

The IPU is an integrated hard IP on the 7940HS die, so there is no possibility that #3 is the cause.

Regarding #1, this image is of poor quality but it should get the job done:

image

Regarding #2, there does not appear to be a BIOS setting on my ASUS TUF Gaming A15 (7940HS). The driver was pre-installed on this machine when purchased.

--Quenton

abdulmueid commented 1 year ago

Thank you for the validation and the screenshot @quentonh

Here's what I see in Device Manager:

image

I tried booting into a linux distro to run lspci and lshw to see maybe it's a Windows issue and it not being able to detect the Hardware ID but I got the same result in Linux. None of the above commands detect the device 1502 or mention IPU anywhere.

lshw.txt lspci.txt

I have reached out to the manufacturer to see if there's something they can do.

In the meanwhile I am open to any diagnosis and ideas to get this working.

Thanks again for the feedback.

quentonh commented 1 year ago

@abdulmueid Thanks for the update. Please let us know what you find out. It strikes me that the NUC box is an ideal form factor for some interesting Edge AI applications, and it would be a shame if the IPU was not enabled for this product. I am from the Xilinx side of the house, not the AMD side of the house, but I see no indications that there is an alternative SKU that disables the IPU: https://www.amd.com/en/product/13036

abdulmueid commented 1 year ago

@quentonh Yes, it would be a real shame, as I was looking forward to digging into the AI capability of this CPU. I have a feeling this is a driver issue (a la "modeswitch" on some hardware under Linux) which is hiding the IPU.

Can you please tell me the model number of your ASUS Laptop? I want to download the drivers from ASUS and compare the versions across CPU, Chipset and other system devices to see if there's a newer driver that I can install or patch with my device IDs and install?

Thanks for the assistance.

abdulmueid commented 1 year ago

Quick update:

Found an interesting tidbit in the Ryzen AI info footnote at https://www.amd.com/en/products/ryzen-ai

Ryzen™ AI technology is compatible with all AMD Ryzen 7040 series processors except the Ryzen 5 7540U and Ryzen 3 7440U. OEM enablement is required. Please check with your system manufacturer for feature availability prior to purchase. GD-220.

I found another instance where a Lenovo laptop with 7840hs also did not have it enabled. https://community.amd.com/t5/drivers-software/ryzen-ai-drivers/m-p/619895

I guess we are at the mercy of OEMs.

quentonh commented 1 year ago

@abdulmueid

Ah-so! That might be the explanation.

Asus FA5071XI AMD IPU Device driver 10.105.5.42

Driver: https://www.catalog.update.microsoft.com/ScopedViewInline.aspx?updateid=6c3d23f0-d26b-429e-a4f9-d9682a0b34e1#Overview Confirmation of PCIe device via package details: https://www.catalog.update.microsoft.com/ScopedViewInline.aspx?updateid=6c3d23f0-d26b-429e-a4f9-d9682a0b34e1#PackageDetails

GiulioDeveloper commented 1 year ago

Hello, I am having the same problem on a Lenovo LOQ 16 with Ryzen 7840HS. I have already posted the issue on AMD Community. Wanted to add that I tried to install the drivers found on Microsoft Catalog as posted by @quentonh. The prompt says "kipudrv.inf: oem52.inf added successfully on 0 devices". It seems that for the drivers to work the IPU must be at least recognized, which it doesn't. So I don't know if we need another driver for the device to appear, and the IPU driver for the IPU to work. Waiting for updates

abdulmueid commented 1 year ago

It would be good to get some clarity and options from AMD side, as I am sure many people bought machines based on these CPUs because Ryzen AI / IPU is part of the package.

Maybe allow developers to unlock / enable this capability. I assume it's locked/unlocked at firmware level.

If I get any feedback / update from the manufacturer, I will update this issue.

chicheng commented 1 year ago

It seems none of the 7040 mini PCs from beelink, minisforum or GMK has Ryzen AI enabled, maybe it's where the Phoenix chips with faulty AI engine went?

GiulioDeveloper commented 1 year ago

I don't think it is legal to sell a CPU model with some features disabled without mentioning it beforehand. If this is the case the users should be eligible for a refund. I have the same problem with a Lenovo laptop. I think that Ryzen AI cores have to be enabled at firmware/BIOS level like the GPU. Maybe since only a few models have been sold so far with Ryzen 7000 processors, brands like Lenovo are still using the old BIOS version which does not include support for Ryzen AI. I have hope that a BIOS update could resolve the issue, otherwise I should be entitled to return the laptop whenever I want.

gitgitgo526 commented 1 year ago

I have similar issue, cpu AMD Ryzen 7840HS. A bit disappointed with AMD on this issue. I choose this cpu because of Ryzen AI instead of Intel, kinda regret it now. I hope BIOS fix/update would enable this feature. There is also not much discussion on forum/blog about this issue. I'm on Lenovo as well. Was thinking of purchasing minisforum/beelink with 7840HS/7940HS, now it will be on hold until AMD clear things up with etc manufacturer. AMD touting how great is cpu with ryzen AI , now I think AMD had misguided us.

quentonh commented 1 year ago

All, we are escalating this concern internally and I hope that we can provide a formal response soon. It is not known to me whether this issue results from a lack of understanding on the part of OEMs as to the importance of IPU support for this CPU, or if perhaps we may have provided early BIOS templates for this architecture that did not include the IPU. We will of course be encouraging ALL Ryzen AI OEMs to enable support for the IPU. That said, I doubt that there is any contractual obligation for a specific OEM to enable support for a specific CPU feature, so there will be some degree of "buyer beware" and perhaps it makes sense for us to create and maintain a list of OEM products that are known to enable IPU support.

I do also suggest that you share your concerns with the specific OEM. They may not realize or recognize the oversight until such time as it is pointed out to them.

Stay tuned, we will update you ASAP.

quentonh commented 1 year ago

All, I have one small update, I have heard from one of our internal developers that at least one OEM platform (NUC that @abdulmueid mentioned) that was tested internally was found to have the IPU device hidden in the Windows Device Manager. Once we installed the driver we were able to leverage the IPU on that platform.

https://www.thewindowsclub.com/show-non-present-devices-windows

image

gitgitgo526 commented 1 year ago

Thank you for the help given, quentonh.

I've tried this earlier, no luck having the device to appear or running the ryzen AI demo. Let me specify out things I tried; a. check for hidden devices, no unknown/error devices as well. ipu device does not exist. b. install "AMD - System - 10.105.6.45" found on Microsoft Catalog, extract and manual .inf install. ipu device does not appear. c. install Asus "AMD_MEP_EINF_DCH_ROG_AMD_B_V1.0.0.0_34813.exe" by extracting, then do a manual install. ipu device does not appear.

Windows 11 is updated to the latest available from Windows Update. Lenovo BIOS/firmware and drivers are all updated to the latest available from manufacture website.

abdulmueid commented 1 year ago

Thanks for the internal escalation and assistance @quentonh

I have been going back and forth with the support from GMKTec and I have yet to get it working. I am having a hard time explaining the issue to them because they keep saying it's a AMD driver issue and I tried explaining it's an OEM enablement issue. They also mentioned "Show hidden devices" view and that didn't work either.

Since you/your team have access to the GMK box, can you please check the BIOS version? Mine is currently on v2.22.1287 (Build 06/11/2023). If you are on a newer BIOS version then it's definitely enabled in newer BIOS.

0

chicheng commented 1 year ago

Asked beelink about their upcoming GTR7 (7840HS mini PC), got this reply while their product page has no mention of Ryzen AI:

Yes, the Beelink GTR7 does have the Ryzen AI engine enabled. The Ryzen AI engine is a feature of the AMD Ryzen processors, which are used in the Beelink GTR7. This engine provides advanced AI capabilities, including machine learning and neural network processing, to enhance performance and efficiency in tasks that require AI processing.

abdulmueid commented 1 year ago

@chicheng As much as they say it's enabled. Ask for proof i.e. screenshot from the device manager with AMD IPU Device. Play it safe. I got burned with my GMKTec K4 missing Ryzen AI.

quentonh commented 1 year ago

I have not received an update from the internal engineering team that purchased the GMTek K4. Given this, I can only assume that we in fact may have no have confirmation internally that the GMKTec K4 can be made to work. I did pen an email to GMKTek asking them to enable support, but as of today, I have not received a response.

We did confirm internally that the MINISFORUM NUC does enable the IPU and hence may be an option for some developers.

Also, I am still awaiting a more formal response from the Client business unit, but as of this moment I am not expecting that there is much they will be able to do and in the near term. I believe that the simple reality is that this may be a buyer beware situation such as @abdulmueid mentions. Ultimately, AMD has little control over whether a particular OEM enables specific features in BIOS.

I suggest that we simply keep this GH issue open and use this as a forum to allow users to discuss the specific products that do (or do not) enable the IPU. If I receive additional updates, I will share them.

abdulmueid commented 1 year ago

Thank you @quentonh for trying to reach out to GMKTec and doing all you can.

This whole debacle got me down a rabbit hole of how UEFI system works, what are its constituent parts (vars, modules, boot stages, etc) and what are the control mechanisms which may enable/disable certain system features. So far I have managed to save the ROM, extract the full UEFI menu including hidden options (no mention of Ryzen AI, IPU or anything related there), and all the EFI vars.

Is it possible to get the documentation that AMD provides to OEMs for enabling the CPU features? I imagine this information is locked tight, but if the information for enabling Ryzen AI / IPU can be obtained, I am happy to delve into it.

Let me know your thoughts.

chaudhariatul commented 1 year ago

Can we create a page to track devices that have a working solution to enable the IPU. Reading through all the comments it still raises doubts on which mini PC anyone should get to take benefit of the IPU. Also requesting to provide better support for Linux.

quentonh commented 1 year ago

@chaudhariatul Regarding a page to track supported devices, yes, I think we can create a public Wiki page for this purpose. The MINISFORUM NUC has been verified internally by our engineering team, so that is one option for a mini PC.

The Linux question was asked here. I cannot personally comment on this apart from to say that the initial focus is very much on Windows, however, I just cross-linked your comments to that original issue.

stalkerg commented 1 year ago

@quentonh, what about fully open-source this demo? And what are the plans for this CPU(?) feature? I asked as a developer.

Seems like AMD itself has not fully decided what it wants to do with this, am I right?

crazyqin commented 1 year ago

I'm also experiencing the same issue, can't find the AMD IPU device. Lenovo.

Amnesist commented 1 year ago

I can confirm two things, after getting and setting up a Lenovo IdeaPad 5 Pro with R7 7840HS last month and now a MinisForum UM790 Pro with R9 7940HS, both with Win11 Pro installed by myself.

The Lenovo IdeaPad Pro shows no potential IPU Device anywhere, while the MinisForum UM790 Pro, after installing all the usual drivers today, still showed a "VEN_1022&DEV_1502" missing drivers, and neither Adrenaline nor Windows could find one by themselves. Now here I stumbled over a hint and the above mentioned driver from the MS Update Catalog offered the solution:

Screenshot 2023-09-05 232543

Seems to be an elusive device

BTW, the driver is from April, so not much is happening.

abdulmueid commented 1 year ago

@Amnesist good to see you got it working on Minisforum. BTW, you can download the latest drivers from here: https://ryzenai.docs.amd.com/en/latest/inst.html You will need an AMD account. I see the driver version on the link above is newer (July) so there's definitely active development ongoing.

Amnesist commented 1 year ago

you can download the latest drivers from here: https://ryzenai.docs.amd.com/en/latest/inst.html

Thanks for that link, but that newer driver puts the IPU Device out of order with a signature error. So back to the one and only working one.

quentonh commented 1 year ago

Regarding the driver signature, you have our attention on this and I have brought this problem to light internally. And yes, there is much internal ongoing work. To avoid saying "too much" I will tell you that will be another release shortly that will provide support for additional model architectures.

quentonh commented 1 year ago

Hi folks,

I have been advised that there will be a driver update (10.106.8.62) that will be pushed next week. This driver will be signed "Microsoft Windows Hardware Compatibility Publisher" and the link that @Amnesist mentioned will be the source for this new driver once available. Following this, we expect to begin pushing driver updates in sync with AMD Adrenalin towards the end of Sept or into October.

So, please check the docs pages next week for an updated driver (hopefully the first half of next week).

--Quenton

DimitriosKakouris commented 1 year ago

Hi folks,

I have been advised that there will be a driver update (10.106.8.62) that will be pushed next week. This driver will be signed "Microsoft Windows Hardware Compatibility Publisher" and the link that @Amnesist mentioned will be the source for this new driver once available. Following this, we expect to begin pushing driver updates in sync with AMD Adrenalin towards the end of Sept or into October.

So, please check the docs pages next week for an updated driver (hopefully the first half of next week).

--Quenton

So no linux support yet?

stalkerg commented 1 year ago

So no linux support yet?

they even for Windows can't provide beta quality support... also this demo is the close source for the most interesting part. Even if you will have a driver I don't know how to use it. AMD IPU currently is like internal PoC with the public as-is demo. Nobody from developers will invest much into this at the current stage. @quentonh sorry for my hard words. But will be good to see the public roadmap for this feature and yes, an answer to questions like Linux support and a fully open-source windows demo.

Hyenadae commented 1 year ago

Bump. Another LOQ 15 (7840HS + 4060, USA model) user with no IPU / RyzenAI device after manual driver install even with 'Show hidden devices'. Really hoping a future UEFI update enables it. Using the latest Ryzen chipset drivers as well and Adrenaline drivers. Does anyone have a good contact for Lenovo to add awareness/complaints, because everything else works lol

crnkoj commented 1 year ago

I have purchased a Lenovo IdeaPad 5 Pro with R7 7840HS as well, and no IPU. @quentonh it would be great, if Lenovo gets the nudge to release a bios/uefi with support for it.

DimitriosKakouris commented 1 year ago

I have an Ideapad 5 pro too and It would be great to experiment with the IPU, Lenovo should get nudged.

crazyqin commented 1 year ago

I contacted the Lenovo representative, and they replied to me that while the CPU supports Ryzen AI, their laptops do not support it.

---- Replied Message ---- | From | @.> | | Date | 09/10/2023 16:31 | | To | amd/RyzenAI-cloud-to-client-demo @.> | | Cc | crazyqin @.>, Manual @.> | | Subject | Re: [amd/RyzenAI-cloud-to-client-demo] AMD IPU Device not detected on 7940hs (Issue #5) |

I have an Ideapad 5 pro too and It would be great to experiment with the IPU, Lenovo should get nudged.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

GiulioDeveloper commented 1 year ago

I have a Lenovo LOQ 16, AMD 7840HS. Since I paid extra money to have the AMD version with Ryzen AI, I am wondering If Lenovo laptops do not support Ryzen AI now, or if they will never do it. If the latter is true I may try to return the laptop.

stalkerg commented 1 year ago

@quentonh I don't think a hidden in collapsed footnote remark:

Ryzen™ AI technology is compatible with all AMD Ryzen 7040 series processors except the Ryzen 5 7540U and Ryzen 3 7440U. OEM enablement is required. Please check with your system manufacturer for feature availability prior to purchase. GD-220.

is enough. In many countries (in Japan for example) it can be breaking the law with huge consequences for the company.

chicheng commented 1 year ago

Edit: The Ryzen AI engine enabled models table will be updated in #18 in future.

chaudhariatul commented 1 year ago

A mature support for RyzenAI may take a couple more years and it's too much to spend ($$$ in some case $$$$) to try this demo.

stalkerg commented 1 year ago

@chaudhariatul they must at least open specs for drivers. If it's really helpful technology we can create a driver and integrate it with libs.

quentonh commented 1 year ago

@chicheng Since you were so kind to prepare that table, I will mention that both the ASUS - ROG Zephyrus G14 (GA402XV-G14.R94060) and ASUS TUF Gaming (A15FA507XI-BS73-CB) have been confirmed to enable the IPU.

Has anyone checked out the updated demo package for Transformer architecture models? https://ryzenai.docs.amd.com/en/latest/relnotes.html#demos

Also, I can see that driver linked from the latest version of the docs is now 10.0106.0008.62. Curious to know if anyone has tried it.

BTW, and FWIW, though I seem to be the only AMD person responding here, I am not officially responsible for Ryzen AI. I am just trying to do what I can to help, so please understand if I don't actively respond to each question / comment regarding items such as Linux support or support for a specific OEM device.

--Quenton

chaudhariatul commented 1 year ago

@quentonh Your efforts are very much appreciated!

stalkerg commented 1 year ago

@quentonh thank you! Can we get any person here who is officially responsible for Ryzen AI?

PS Why AMD can't normally communicate with the community? It's the same problem for ROCm. Maybe only Linux drivers work well from this point of view.

DimitriosKakouris commented 1 year ago

@quentonh Thank you! We very much appreciate your efforts and understand what you are saying. If you can bring the AI team's attention to this thread It would be a great community achievement.

chicheng commented 1 year ago

Thanks @quentonh , I've updated the table accordingly.

Also:

quentonh commented 1 year ago

@stalkerg @DimitrisKars I have asked the team to communicate on the plans for Linux support and for them to provide a more official venue for support and user interaction with the technical teams. Hopefully we can share additional information soon.

Robbson commented 1 year ago

Quick update:

Found an interesting tidbit in the Ryzen AI info footnote at https://www.amd.com/en/products/ryzen-ai

Ryzen™ AI technology is compatible with all AMD Ryzen 7040 series processors except the Ryzen 5 7540U and Ryzen 3 7440U. OEM enablement is required. Please check with your system manufacturer for feature availability prior to purchase. GD-220.

I found another instance where a Lenovo laptop with 7840hs also did not have it enabled. https://community.amd.com/t5/drivers-software/ryzen-ai-drivers/m-p/619895

I guess we are at the mercy of OEMs.

That's it! I have been patient with AMD all the years with their struggle against competition and believed in their products. Finding an adequate (and stable) Phoenix notebook without a dedicated GPU has been really challenging this year, despite all the "design wins". No wonder they can't compete on the notebook market regarding volume against Intel even having a superior APU.

Yesterday, I finally found some time to get into the promising Ryzen AI part of my Lenovo and tried to install the related drivers and developer software packages (where each single download is only delivered after filling out some form... really AMD?).

But finding this thread and now reading this stupid footnote broke the camel's back. Sorry guys but I am done with AMD and their promises. They are marketing a CPU with an AI feature, proudly announce that it's even more efficient than Apple Silicon's AI, but only mention it as a footnote, that it's probably not available for every buyer.

How on earth is AMD going to compete with Intel's come back in the name of Meteor Lake launching in December when they even can't force their partners to enable AI in their products? I am pretty sure Intel won't make this mistake even though their devices are supposed to be more expensive. At least they haven't in the past, like they did with their Centrino and Ultrabook trademarks.

I still can't believe it 😡. After the Minisforum disaster with the UM790-Pro stability issues (their forum is full of complains) now the next blocker.

chicheng commented 1 year ago

Confirmed Framework Laptop 13 (7040U) enabled Ryzen AI

3cl1ps commented 1 year ago

got ipu disabled by default on minisforum 790pro, bios 1.07. I could enable it.

quentonh commented 1 year ago

@Robbson Though I do not have the power myself to impact this, I did share your message internally. I hope that we will find a way to make this more transparent for users in the future. I for one, apologize on behalf of AMD for the situation.

acwn1976 commented 1 year ago

I have bought a Lenovo P16s Gen2 without preinstalled Windows. Installed Debian testing with Kernel 6.5.6. And I ran these commands and found the device with the above mentioned PCI ID. I couldn't find a BIOS entry to enable/disable it. So it looks like it's enabled by default. BTW it would be great to have Linux support as well, especially after this announcement: https://www.intel.com/content/www/us/en/products/docs/processors/core/intelligent-pc-overview.html

lspci -v 65:00.1 Signal processing controller: Advanced Micro Devices, Inc. [AMD] Device 1502 Subsystem: Lenovo Device 50d9 Flags: fast devsel, IRQ 255, IOMMU group 24 Memory at 78b00000 (32-bit, non-prefetchable) [disabled] [size=512K] Memory at 78bc0000 (32-bit, non-prefetchable) [disabled] [size=8K] Memory at 2410800000 (64-bit, prefetchable) [disabled] [size=256K] Memory at 78b80000 (32-bit, non-prefetchable) [disabled] [size=256K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [64] Express Endpoint, MSI 00 Capabilities: [a0] MSI: Enable- Count=1/16 Maskable- 64bit+ Capabilities: [c0] MSI-X: Enable- Count=16 Masked- Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Capabilities: [2a0] Access Control Services Capabilities: [2d0] Process Address Space ID (PASID)

lspci -vn 65:00.1 1180: 1022:1502 Subsystem: 17aa:50d9 Flags: fast devsel, IRQ 255, IOMMU group 24 Memory at 78b00000 (32-bit, non-prefetchable) [disabled] [size=512K] Memory at 78bc0000 (32-bit, non-prefetchable) [disabled] [size=8K] Memory at 2410800000 (64-bit, prefetchable) [disabled] [size=256K] Memory at 78b80000 (32-bit, non-prefetchable) [disabled] [size=256K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [64] Express Endpoint, MSI 00 Capabilities: [a0] MSI: Enable- Count=1/16 Maskable- 64bit+ Capabilities: [c0] MSI-X: Enable- Count=16 Masked- Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Capabilities: [2a0] Access Control Services Capabilities: [2d0] Process Address Space ID (PASID)