| 598 | } |
| 599 | |
| 600 | bool HaveFeaturesInMemory( |
| 601 | const NCatboostOptions::TCatBoostOptions& catBoostOptions, |
| 602 | const TMaybe<TPathWithScheme>& maybePathWithScheme |
| 603 | ) { |
| 604 | #if defined(USE_MPI) |
| 605 | const bool isGpuDistributed = catBoostOptions.GetTaskType() == ETaskType::GPU; |
| 606 | #else |
| 607 | const bool isGpuDistributed = false; |
| 608 | #endif |
| 609 | const bool isCpuDistributed = catBoostOptions.SystemOptions->IsMaster(); |
| 610 | if (!isCpuDistributed && !isGpuDistributed) { |
| 611 | return true; |
| 612 | } |
| 613 | if (const auto* pathWithScheme = maybePathWithScheme.Get()) { |
| 614 | const bool isQuantized = pathWithScheme->Scheme.find("quantized") != std::string::npos; |
| 615 | return !IsSharedFs(*pathWithScheme) || !isQuantized; |
| 616 | } else { |
| 617 | return true; |
| 618 | } |
| 619 | } |
| 620 | |
| 621 | void EnsureObjectsDataIsConsecutiveIfQuantized( |
| 622 | ui64 cpuUsedRamLimit, |
no test coverage detected