Hello,
I have compiled the Ray source code (top of the Github archive) on MS Windows using Visual C++ compiler (it took som time, but it is possible, I did it for fun).
As the result I have received the executable file, that it seems to work (no segmentation faults, and other problems). As next step I wanted to play with it, but I am not able unfortunatelly. Most options related to run it, does not work.
I have checked the running parameters described here: Cluster Management CLI — Ray 2.21.0 ,
it seems I am missing something as don’t have any positive result.
For example: the command: ray start --head --port=6379,
as suggested here: Starting Ray — Ray 2.21.0 produces output: ERROR: unknown command line flag ‘port’
The running command without “port” parameter produces something like that
ray start --head
[2024-05-13 22:53:30,028 C 21028 20664] E:\Sources\GamerHash\tmp\RayExecFinalStatic\Ray\ray\raylet\main.cc:152: Check failed: (left != right) vs Expected node ID.
*** StackTrace Information ***
ray::operator<<
ray::SpdLogMessage::Flush
ray::SpdLogMessage::~SpdLogMessage
ray::SpdLogMessage::`scalar deleting destructor’
ray::RayLog::~RayLog
main
invoke_main
__scrt_common_main_seh
__scrt_common_main
mainCRTStartup
BaseThreadInitThunk
RtlUserThreadStart
I have looked at the result produced by: ray -help, it produces something like running parameters set, but ti does not match the documentation that I have found.
ray -help
ray: Warning: SetUsageMessage() never called
Flags from C:\Program Files\Microsoft Visual Studio\vcpkg\buildtrees\gflags\src\v2.2.2-d9283b9285\src\gflags.cc:
-flagfile (load flags from file) type: string default: “”
-fromenv (set flags from the environment [use ‘export FLAGS_flag1=value’])
type: string default: “”
-tryfromenv (set flags from the environment if present) type: string
default: “”
-undefok (comma-separated list of flag names that it is okay to specify on
the command line even if the program does not define a flag with that
name. IMPORTANT: flags in this list that have arguments MUST use the
flag=value format) type: string default: “”
Flags from C:\Program Files\Microsoft Visual Studio\vcpkg\buildtrees\gflags\src\v2.2.2-d9283b9285\src\gflags_completions.cc:
-tab_completion_columns (Number of columns to use in output for tab
completion) type: int32 default: 80
-tab_completion_word (If non-empty, HandleCommandLineCompletions() will
hijack the process and attempt to do bash-style command line flag
completion on this value.) type: string default: “”
Flags from C:\Program Files\Microsoft Visual Studio\vcpkg\buildtrees\gflags\src\v2.2.2-d9283b9285\src\gflags_reporting.cc:
-help (show help on all flags [tip: all flags can have two dashes])
type: bool default: false currently: true
-helpfull (show help on all flags – same as -help) type: bool
default: false
-helpmatch (show help on modules whose name contains the specified substr)
type: string default: “”
-helpon (show help on the modules named by this flag value) type: string
default: “”
-helppackage (show help on all modules in the main package) type: bool
default: false
-helpshort (show help on only the main module for this program) type: bool
default: false
-helpxml (produce an xml version of help) type: bool default: false
-version (show version and build info and exit) type: bool default: false
Flags from E:\Sources\tmp\RayExecFinalStatic\Ray\ray\raylet\main.cc:
-cluster_id (ID of the cluster, separate from observability.) type: string
default: “”
-cpp_worker_command (CPP worker command.) type: string default: “”
-dashboard_agent_command (Dashboard agent command.) type: string
default: “”
-gcs_address (The address of the GCS server, including IP and port.)
type: string default: “”
-head (Whether this node is a head node.) type: bool default: false
-huge_pages (Enable huge pages.) type: bool default: false
-java_worker_command (Java worker command.) type: string default: “”
-labels (Define the key-value format of node labels, which is a serialized
JSON.) type: string default: “”
-log_dir (The path of the dir where log files are created.) type: string
default: “”
-max_worker_port (The highest port that workers’ gRPC servers will bind
on.) type: int32 default: 0
-maximum_startup_concurrency (Maximum startup concurrency.) type: int32
default: 1
-metrics_agent_port (The port of metrics agent.) type: int32 default: -1
-metrics_export_port (The port at which metrics are exposed.) type: int32
default: 1
-min_worker_port (The lowest port that workers’ gRPC servers will bind on.)
type: int32 default: 0
-native_library_path (The native library path which includes the core
libraries.) type: string default: “”
-node_id (The id of this node.) type: string default: “”
-node_ip_address (The ip address of this node.) type: string default: “”
-node_manager_port (The port of node manager.) type: int32 default: -1
-node_name (The user-provided identifier or name for this node.)
type: string default: “”
-num_prestart_python_workers (Number of prestarted default Python workers
on raylet startup.) type: int32 default: 0
-object_manager_port (The port of object manager.) type: int32 default: -1
-object_store_memory (The initial memory of the object store.) type: int64
default: -1
-plasma_directory (The shared memory directory of the object store.)
type: string default: “/tmp”
-python_worker_command (Python worker command.) type: string default: “”
-ray_debugger_external (Make Ray debugger externally accessible.)
type: int32 default: 0
-raylet_socket_name (The socket name of raylet.) type: string default: “”
-resource_dir (The path of this ray resource directory.) type: string
default: “”
-runtime_env_agent_command (Runtime env agent command.) type: string
default: “”
-runtime_env_agent_port (The port of runtime env agent.) type: int32
default: 1
-session_dir (The path of this ray session directory.) type: string
default: “”
-session_name (Session name (ClusterID) of the cluster.) type: string
default: “”
-static_resource_list (The static resource list of this node.) type: string
default: “”
-store_socket_name (The socket name of object store.) type: string
default: “”
-temp_dir (Temporary directory.) type: string default: “”
-worker_port_list (An explicit list of ports that workers’ gRPC servers
will bind on.) type: string default: “”
Could you show me the right way please? Of course I would like to use my compiled excutable, and avoid fully prepared dockers/kubernetes and other gizmos. I don’t want to install not nccessary stuff on my laptop (it was a reason why I compild the Ray from sources)…
Thanks in advance,
Piotr