diff --git a/src/renderer/components/Computer.tsx b/src/renderer/components/Computer.tsx index 34cedd94..920b5aad 100644 --- a/src/renderer/components/Computer.tsx +++ b/src/renderer/components/Computer.tsx @@ -270,11 +270,15 @@ export default function Computer() { value={server.gpu?.length === 0 ? '❌' : '✅'} /> {' '} ))} - - {server?.device == 'cuda' && } - + {server?.device === 'cuda' && ( + + {server?.device_type === 'nvidia' ? ( + + ) : server?.device_type === 'amd' ? ( + + ) : null} + + )} diff --git a/src/renderer/components/Plugins/LocalPlugins.tsx b/src/renderer/components/Plugins/LocalPlugins.tsx index e8f57ff0..3ea59c34 100644 --- a/src/renderer/components/Plugins/LocalPlugins.tsx +++ b/src/renderer/components/Plugins/LocalPlugins.tsx @@ -33,7 +33,7 @@ export default function LocalPlugins({ fetcher, ); - const device = serverInfo?.device; + const device = serverInfo?.device_type; if (error) return 'Failed to fetch plugins for the selected experiment. Please verify the experiment ID and server availability.'; if (isLoading) return ; diff --git a/src/renderer/components/Plugins/PluginCard.tsx b/src/renderer/components/Plugins/PluginCard.tsx index db5374c6..10dcf163 100644 --- a/src/renderer/components/Plugins/PluginCard.tsx +++ b/src/renderer/components/Plugins/PluginCard.tsx @@ -9,8 +9,6 @@ import { Box, ButtonGroup, Chip, CircularProgress, Stack } from '@mui/joy'; import { Link } from 'react-router-dom'; import { useState } from 'react'; -import TinyMLXLogo from '../Shared/TinyMLXLogo'; -import TinyNVIDIALogo from '../Shared/TinyNVIDIALogo'; import { colorArray, mixColorWithBackground } from 'renderer/lib/utils'; import ShowArchitectures from '../Shared/ListArchitectures'; @@ -74,6 +72,8 @@ export default function PluginCard({ isCompatible = pluginArchitectures.includes('cuda') || pluginArchitectures.includes('cpu'); + } else if (machineType === 'amd') { + isCompatible = pluginArchitectures.includes('amd'); } else { isCompatible = pluginArchitectures.includes('cpu'); } diff --git a/src/renderer/components/Plugins/PluginGallery.tsx b/src/renderer/components/Plugins/PluginGallery.tsx index 9c922671..96ad3f37 100644 --- a/src/renderer/components/Plugins/PluginGallery.tsx +++ b/src/renderer/components/Plugins/PluginGallery.tsx @@ -48,7 +48,7 @@ export default function PluginGallery({ fetchShowExperimental(); }, []); - const device = serverInfo?.device; + const device = serverInfo?.device_type; const renderFilters = () => ( @@ -94,6 +94,9 @@ export default function PluginGallery({ plugin.supported_hardware_architectures.includes('cpu') ); } + if (machineType === 'amd') { + return plugin.supported_hardware_architectures.includes('amd'); + } return true; // Default to compatible for unknown machine types }; diff --git a/src/renderer/components/Shared/ListArchitectures.tsx b/src/renderer/components/Shared/ListArchitectures.tsx index 2eb1ecec..da67d6d4 100644 --- a/src/renderer/components/Shared/ListArchitectures.tsx +++ b/src/renderer/components/Shared/ListArchitectures.tsx @@ -1,6 +1,7 @@ import { Box, Chip } from '@mui/joy'; import TinyMLXLogo from './TinyMLXLogo'; import TinyNVIDIALogo from './TinyNVIDIALogo'; +import TinyAMDLogo from './TinyAMDLogo'; function mapArchitectureToIcon(arch) { switch (arch) { @@ -8,6 +9,8 @@ function mapArchitectureToIcon(arch) { return ; case 'mlx': return ; + case 'amd': + return ; default: return ( diff --git a/src/renderer/components/Shared/TinyAMDLogo.tsx b/src/renderer/components/Shared/TinyAMDLogo.tsx new file mode 100644 index 00000000..982dce90 --- /dev/null +++ b/src/renderer/components/Shared/TinyAMDLogo.tsx @@ -0,0 +1,14 @@ +export default function TinyAMDLogo() { + return ( + + + + ); +} diff --git a/src/renderer/components/Shared/TinyNVIDIALogo.tsx b/src/renderer/components/Shared/TinyNVIDIALogo.tsx index 05e3dc63..20cde373 100644 --- a/src/renderer/components/Shared/TinyNVIDIALogo.tsx +++ b/src/renderer/components/Shared/TinyNVIDIALogo.tsx @@ -1,5 +1,15 @@ -export default function TinyMLXLogo() { +export default function TinyNVIDIALogo() { return ( - + + + ); }