private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto), // duals disabled by default #pragma warning disable 0618 new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto, AlgorithmType.Decred) { Enabled = false }, new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto, AlgorithmType.Blake2s) { Enabled = false }, new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto, AlgorithmType.Keccak) { Enabled = false }, #pragma warning restore 0618 }; var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto), // duals disabled by default #pragma warning disable 0618 new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto, AlgorithmType.Decred) { Enabled = false }, new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto, AlgorithmType.Blake2s) { Enabled = false }, new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto, AlgorithmType.Keccak) { Enabled = false }, #pragma warning restore 0618 }; var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); if (gpu is AMDDevice amd && (amd.Codename.ToLower().Contains("gfx10") || amd.Name.ToLower().Contains("navi"))) { filteredAlgorithms = filteredAlgorithms.Where(algo => algo.IDs.Count == 1).ToList(); } return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var isAMD = gpu is AMDDevice; List <Algorithm> algorithms; if (isAMD) { algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.Beam), new Algorithm(PluginUUID, AlgorithmType.GrinCuckatoo31), new Algorithm(PluginUUID, AlgorithmType.GrinCuckarood29), }; } else { // NVIDIA OpenCL backend stability is questionable algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.Beam) { Enabled = false }, new Algorithm(PluginUUID, AlgorithmType.GrinCuckatoo31) { Enabled = false }, }; } var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.DaggerHashimoto), }; var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var filteredAlgorithms = GetSupportedAlgorithmsForDevice(gpu as BaseDevice); if (gpu is AMDDevice amd && (amd.Codename.ToLower().Contains("gfx10") || amd.Name.ToLower().Contains("navi"))) { filteredAlgorithms = filteredAlgorithms.Where(algo => algo.IDs.Count == 1).ToList(); } return(filteredAlgorithms); }
List <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.GrinCuckarood29), new Algorithm(PluginUUID, AlgorithmType.CryptoNightR), }; var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = new List <Algorithm> { new Algorithm(PluginUUID, AlgorithmType.Beam), new Algorithm(PluginUUID, AlgorithmType.GrinCuckatoo31), }; var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = PluginSupportedAlgorithms.GetSupportedAlgorithmsGPU(PluginUUID); if (PluginSupportedAlgorithms.UnsafeLimits(PluginUUID)) { return(algorithms); } var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var algorithms = PluginSupportedAlgorithms.GetSupportedAlgorithmsGPU(PluginUUID).ToList(); if (PluginSupportedAlgorithms.UnsafeLimits(PluginUUID)) { return(algorithms); } var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); if (gpu is AMDDevice amd && (amd.Codename.ToLower().Contains("gfx10") || amd.Name.ToLower().Contains("navi"))) { filteredAlgorithms = filteredAlgorithms.Where(algo => algo.IDs.Count == 1).ToList(); } return(filteredAlgorithms); }
private IEnumerable <Algorithm> GetSupportedAlgorithms(IGpuDevice gpu) { var isAMD = gpu is AMDDevice; List <Algorithm> algorithms; if (isAMD) { algorithms = PluginSupportedAlgorithms.GetSupportedAlgorithmsAMD(PluginUUID); } else { // NVIDIA OpenCL backend stability is questionable algorithms = PluginSupportedAlgorithms.GetSupportedAlgorithmsNVIDIA(PluginUUID); } if (PluginSupportedAlgorithms.UnsafeLimits(PluginUUID)) { return(algorithms); } var filteredAlgorithms = Filters.FilterInsufficientRamAlgorithmsList(gpu.GpuRam, algorithms); return(filteredAlgorithms); }
private static bool IsSupportedNVIDIADevice(IGpuDevice dev, bool isDriverSupported) { var isSupported = dev is CUDADevice; return(isSupported && isDriverSupported); }
private static bool IsSupportedAMDDevice(IGpuDevice dev) { var isSupported = dev is AMDDevice; return(isSupported); }
private static bool IsSupportedNVIDIADevice(IGpuDevice dev, bool isDriverSupported) { var isSupported = dev is CUDADevice gpu && gpu.SM_major >= 3; return(isSupported && isDriverSupported); }