"CharityEngine" (Batch Computation Provider)
Details
Environment Properties
| "ServiceObject" | Automatic | ServiceObject for "CharityEngine" service | |
| "UseOwnDevices" | False | whether to restrict job scheduling to hosts owned by the current user |
Job Settings
| "InstanceType" | "C.2x2" | Charity Engine instance-type string | |
| "UseOwnDevices" | Inherited | whether to restrict job scheduling to hosts owned by the current user |
| "C.2x2" | 2 vCPUs; 2GiB RAM | |
| "C.2x4" | 2 vCPUs; 4GiB RAM | |
| "C.4x4" | 4 vCPUs; 4GiB RAM |
Job Notifications
Job Statuses
| "Provisioning" | the job is queued and waiting to be scheduled to a host | |
| "Downloading" | the job has been scheduled to a host and its container image and input files are being downloaded | |
| "Running" | the job container has started and is evaluating the job code | |
| "Completed" | the job's execution has succeeded and its output has been uploaded | |
| "Failed" | the job's execution has failed | |
| "Aborted" | the job was aborted or timed out before it could complete |
Job Properties
| "JobLog" | console logs from the job container | |
| "ProviderJobID" | Charity Engine-provided unique identifier for the job |
| "ProviderChildJobIDs" | Charity Engine-provided unique identifiers for each array child job |
| "JobLog" | console logs from the child job container | |
| "ProviderJobID" | Charity Engine-provided unique identifier for the child job |
Examples
open all close allBasic Examples (2)
Create an "CharityEngine" RemoteBatchSubmissionEnvironment object:
environment = RemoteBatchSubmissionEnvironment["CharityEngine"]Submit a job using the created environment:
job = RemoteBatchSubmit[environment, 2 + 2]job["JobStatus"]Query the job’s status again, after it has completed:
job["JobStatus"]job["EvaluationResult"]Submit a job using an implicitly created submission environment:
job = RemoteBatchSubmit["CharityEngine", 2 + 2]Job Settings (1)
"InstanceType" (1)
Instruct Charity Engine to run a submitted job using a "C.4x4" instance with 4 vCPUs available:
job = RemoteBatchSubmit[
"CharityEngine",
{$ProcessorCount, ParallelEvaluate[$KernelID]},
RemoteProviderSettings -> <|"InstanceType" -> "C.4x4"|>
]job["EvaluationResult"]Job Properties (2)
"Single" Jobs (1)
Submit a batch job to Charity Engine using RemoteBatchSubmit:
job = RemoteBatchSubmit["CharityEngine", 2 + 2]Obtain the console output from the job container:
job["JobLog"]"Array" and "ArrayChild" Jobs (1)
Submit a batch array job to Charity Engine using RemoteBatchMapSubmit:
arrayJob = RemoteBatchMapSubmit["CharityEngine", # ^ 2&, Range[8]]Obtain the Charity Engine job identifiers for each array child job:
arrayJob["ProviderChildJobIDs"]Obtain a RemoteBatchJobObject expression representing the first child job:
childJob = arrayJob["ChildJobObjects"][[1]]Obtain the console output from the child job container:
childJob["JobLog"]Properties & Relations (1)
A list of currently available Charity Engine instance types can be obtained via the "CharityEngine" service connection:
ServiceExecute["CharityEngine", "InstanceTypes"]See Also
RemoteBatchSubmit ▪ RemoteBatchMapSubmit ▪ RemoteBatchSubmissionEnvironment ▪ $DefaultRemoteBatchSubmissionEnvironment
Service Connections: CharityEngine
Related Workflows
- Set Up the Charity Engine Batch Computation Provider
Related Links
History
Introduced in 2020 (12.2)