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);
        }
 // mandatory constructor
 public EthminerPlugin()
 {
     // set default internal settings
     MinerOptionsPackage = PluginInternalSettings.MinerOptionsPackage;
     // https://github.com/ethereum-mining/ethminer/releases
     MinersBinsUrlsSettings = new MinersBinsUrlsSettings
     {
         BinVersion = "v0.18.0",
         ExePath    = new List <string> {
             "bin", "ethminer.exe"
         },
         Urls = new List <string>
         {
             "https://github.com/ethereum-mining/ethminer/releases/download/v0.18.0/ethminer-0.18.0-cuda10.0-windows-amd64.zip", // original
         }
     };
     PluginMetaInfo = new PluginMetaInfo
     {
         PluginDescription          = "Ethminer is an Ethash GPU mining worker",
         SupportedDevicesAlgorithms = PluginSupportedAlgorithms.SupportedDevicesAlgorithmsDict()
     };
 }