mirror of
https://github.com/jwinterm/xmr-stak.git
synced 2026-10-25 05:58:46 +01:00
53 lines
776 B
C++
53 lines
776 B
C++
#pragma once
|
|
#include <stdlib.h>
|
|
#include <string>
|
|
#include "xmrstak/params.hpp"
|
|
|
|
namespace xmrstak
|
|
{
|
|
namespace nvidia
|
|
{
|
|
|
|
class jconf
|
|
{
|
|
public:
|
|
static jconf* inst()
|
|
{
|
|
if (oInst == nullptr) oInst = new jconf;
|
|
return oInst;
|
|
};
|
|
|
|
bool parse_config(const char* sFilename = params::inst().configFileNVIDIA.c_str());
|
|
|
|
struct thd_cfg {
|
|
uint32_t id;
|
|
uint32_t blocks;
|
|
uint32_t threads;
|
|
uint32_t bfactor;
|
|
uint32_t bsleep;
|
|
bool bDoubleMode;
|
|
bool bNoPrefetch;
|
|
int32_t cpu_aff;
|
|
int syncMode;
|
|
|
|
long long iCpuAff;
|
|
};
|
|
|
|
size_t GetGPUThreadCount();
|
|
|
|
bool GetGPUThreadConfig(size_t id, thd_cfg &cfg);
|
|
|
|
bool NeedsAutoconf();
|
|
|
|
private:
|
|
jconf();
|
|
static jconf* oInst;
|
|
|
|
struct opaque_private;
|
|
opaque_private* prv;
|
|
|
|
};
|
|
|
|
} // namespace nvidia
|
|
} // namepsace xmrstak
|