2 Commits

Author SHA1 Message Date
zxq9 5d4fd6a2ab Merge pull request 'Add Mac arch detection (relatively naive)' (#7) from naive-arch2 into master
Reviewed-on: #7
Reviewed-by: Jarvis Carroll <jarviscarrol@qpq.swiss>
2025-08-11 12:19:21 +09:00
zxq9 35842b8ac7 Add Mac arch detection (relatively naive) 2025-08-08 13:00:00 +09:00
7 changed files with 36 additions and 25 deletions
+1 -1
View File
@@ -3,6 +3,6 @@
{registered,[]}, {registered,[]},
{included_applications,[]}, {included_applications,[]},
{applications,[stdlib,kernel]}, {applications,[stdlib,kernel]},
{vsn,"0.2.5"}, {vsn,"0.2.6"},
{modules,[gajumine,gmc_con,gmc_conf,gmc_gui,gmc_sup]}, {modules,[gajumine,gmc_con,gmc_conf,gmc_gui,gmc_sup]},
{mod,{gajumine,[]}}]}. {mod,{gajumine,[]}}]}.
+1 -1
View File
@@ -3,7 +3,7 @@
%%% @end %%% @end
-module(gajumine). -module(gajumine).
-vsn("0.2.5"). -vsn("0.2.6").
-behavior(application). -behavior(application).
-author("Craig Everett <craigeverett@qpq.swiss>"). -author("Craig Everett <craigeverett@qpq.swiss>").
-copyright("QPQ AG <craigeverett@qpq.swiss>"). -copyright("QPQ AG <craigeverett@qpq.swiss>").
+16 -5
View File
@@ -3,7 +3,7 @@
%%% @end %%% @end
-module(gmc_con). -module(gmc_con).
-vsn("0.2.5"). -vsn("0.2.6").
-author("Craig Everett <craigeverett@qpq.swiss>"). -author("Craig Everett <craigeverett@qpq.swiss>").
-copyright("QPQ AG <craigeverett@qpq.swiss>"). -copyright("QPQ AG <craigeverett@qpq.swiss>").
-license("GPL-3.0-or-later"). -license("GPL-3.0-or-later").
@@ -205,7 +205,10 @@ do_start_stop(#s{acc = PubKey, keys = Keys, network = Network, max_cores = MaxCo
{Fatness, Type} = {Fatness, Type} =
case os:type() of case os:type() of
{unix, linux} -> {unix, linux} ->
{"mean", "generic"}; case Network of
<<"mainnet">> -> {"mean", "avx2"};
<<"testnet">> -> {"mean", "generic"}
end;
{unix, darwin} -> {unix, darwin} ->
% Check memory. >7gb gets mean, <7gb gets lean % Check memory. >7gb gets mean, <7gb gets lean
{"mean", "generic"}; {"mean", "generic"};
@@ -213,7 +216,10 @@ do_start_stop(#s{acc = PubKey, keys = Keys, network = Network, max_cores = MaxCo
% Check memory. >7gb gets mean, <7gb gets lean % Check memory. >7gb gets mean, <7gb gets lean
% Check avx2. % Check avx2.
% Both should be provided by the F# start program % Both should be provided by the F# start program
{"mean", "generic"} case Network of
<<"mainnet">> -> {"mean", "avx2.exe"};
<<"testnet">> -> {"mean", "generic.exe"}
end
end, end,
Miner = filename:join(platform_dir(), unicode:characters_to_binary([Fatness, Bits, "-", Type])), Miner = filename:join(platform_dir(), unicode:characters_to_binary([Fatness, Bits, "-", Type])),
Count = optimize_count(MaxCores, MaxMem), Count = optimize_count(MaxCores, MaxMem),
@@ -264,8 +270,13 @@ platform_dir() ->
{unix, linux} -> {unix, linux} ->
"linux_x86_64"; "linux_x86_64";
{unix, darwin} -> {unix, darwin} ->
% TODO: Check M2 vs x86 case erlang:system_info(system_architecture) of
"mac_m2"; "aarch64-" ++ _ ->
"mac_m2";
Other ->
ok = log(info, "system_architecture: ~p", [Other]),
"mac_x86_64"
end;
{win32, nt} -> {win32, nt} ->
"win_x86_64" "win_x86_64"
end, end,
+14 -14
View File
@@ -3,7 +3,7 @@
%%% @end %%% @end
-module(gmc_conf). -module(gmc_conf).
-vsn("0.2.5"). -vsn("0.2.6").
-author("Craig Everett <craigeverett@qpq.swiss>"). -author("Craig Everett <craigeverett@qpq.swiss>").
-copyright("QPQ AG <craigeverett@qpq.swiss>"). -copyright("QPQ AG <craigeverett@qpq.swiss>").
-license("GPL-3.0-or-later"). -license("GPL-3.0-or-later").
@@ -18,15 +18,15 @@
-record(s, -record(s,
{wx = none :: none | wx:wx_object(), {wx = none :: none | wx:wx_object(),
frame = none :: none | wx:wx_object(), frame = none :: none | wx:wx_object(),
lang = en :: en | jp, lang = en :: en | jp,
j = none :: none | fun(), j = none :: none | fun(),
net = none :: none | wx:wx_object(), net = none :: none | wx:wx_object(),
acc = none :: none | wx:wx_object(), acc = none :: none | wx:wx_object(),
keys = none :: none | wx:wx_object(), keys = none :: none | wx:wx_object(),
cores = none :: none | wx:wx_object(), cores = 2 :: pos_integer(),
memory = none :: none | wx:wx_object()}). memory = 3550722201 :: pos_integer()}).
@@ -213,16 +213,16 @@ done(State = #s{net = Network, acc = AccTx, keys = KeysTx, cores = CoresTx, memo
buh_bye(State). buh_bye(State).
cores("") -> cores("") ->
none; 2;
cores(CoreS) -> cores(CoreS) ->
try try
list_to_integer(CoreS) list_to_integer(CoreS)
catch catch
_:_ -> none _:_ -> 2
end. end.
bytes("") -> bytes("") ->
none; 3550722201;
bytes(GigsS) -> bytes(GigsS) ->
try try
list_to_integer(GigsS) * gig() list_to_integer(GigsS) * gig()
@@ -231,7 +231,7 @@ bytes(GigsS) ->
try try
trunc(list_to_float(GigsS) * gig()) trunc(list_to_float(GigsS) * gig())
catch catch
_:_ -> none _:_ -> 3550722201
end end
end. end.
+1 -1
View File
@@ -3,7 +3,7 @@
%%% @end %%% @end
-module(gmc_gui). -module(gmc_gui).
-vsn("0.2.5"). -vsn("0.2.6").
-author("Craig Everett <craigeverett@qpq.swiss>"). -author("Craig Everett <craigeverett@qpq.swiss>").
-copyright("QPQ AG <craigeverett@qpq.swiss>"). -copyright("QPQ AG <craigeverett@qpq.swiss>").
-license("GPL-3.0-or-later"). -license("GPL-3.0-or-later").
+1 -1
View File
@@ -12,7 +12,7 @@
%%% @end %%% @end
-module(gmc_sup). -module(gmc_sup).
-vsn("0.2.5"). -vsn("0.2.6").
-behaviour(supervisor). -behaviour(supervisor).
-author("Craig Everett <craigeverett@qpq.swiss>"). -author("Craig Everett <craigeverett@qpq.swiss>").
-copyright("QPQ AG <craigeverett@qpq.swiss>"). -copyright("QPQ AG <craigeverett@qpq.swiss>").
+2 -2
View File
@@ -2,9 +2,9 @@
{type,gui}. {type,gui}.
{modules,[]}. {modules,[]}.
{prefix,"gmc"}. {prefix,"gmc"}.
{author,"Craig Everett"}.
{desc,"Mining client for the Gajumaru Root"}. {desc,"Mining client for the Gajumaru Root"}.
{package_id,{"qpq","gajumine",{0,2,5}}}. {author,"Craig Everett"}.
{package_id,{"qpq","gajumine",{0,2,6}}}.
{deps,[{"uwiger","gmhive_client",{0,4,4}}, {deps,[{"uwiger","gmhive_client",{0,4,4}},
{"uwiger","gmcuckoo",{1,2,3}}, {"uwiger","gmcuckoo",{1,2,3}},
{"qpq","cuckoo_cpu",{0,3,0}}, {"qpq","cuckoo_cpu",{0,3,0}},