Skip to content

Commit c850482

Browse files
authored
Merge pull request #323 from Exabyte-io/docs/SOF-7634
SOF-7634: add tutorial video on creating jobs
2 parents 0eae86b + 624f096 commit c850482

File tree

6 files changed

+215
-36
lines changed

6 files changed

+215
-36
lines changed

.github/workflows/build-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ jobs:
1515
matrix:
1616
os: ["ubuntu-24.04"]
1717
python-version:
18-
- "3.9"
1918
- "3.10"
2019
- "3.11"
2120
- "3.12"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
For a quick installation:
88

9-
1. Install dependencies: python 3 (tested on Python `3.9`-`3.13`), `pip`, `curl`, [`virtualenv`](https://virtualenv.pypa.io/en/latest/installation/), git, [git-lfs](https://git-lfs.github.com/).
9+
1. Install dependencies: python 3 (tested on Python `3.10`-`3.13`), `pip`, `curl`, [`virtualenv`](https://virtualenv.pypa.io/en/latest/installation/), git, [git-lfs](https://git-lfs.github.com/).
1010

1111
2. Clone this repository:
1212

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
{
2+
"descriptionLinks": ["Documentation: https://docs.mat3ra.com/jobs/overview/"],
3+
"description": "Step-by-step guide on how to create jobs on Mat3ra platform.",
4+
"tags": [
5+
{
6+
"...": "../metadata/general.json#/tags"
7+
}
8+
],
9+
"title": "Mat3ra Onboarding: How to create jobs?",
10+
"youTubeCaptions": [
11+
{
12+
"text": "How to get started with creating and running jobs in matera platform?",
13+
"startTime": "00:00:00.500",
14+
"endTime": "00:00:04.500"
15+
},
16+
{
17+
"text": "Creating job involves three steps.",
18+
"startTime": "00:00:05.000",
19+
"endTime": "00:00:07.100"
20+
},
21+
{
22+
"text": "Specify the material system, such as crystal structure, lattice constants and atomic positions.",
23+
"startTime": "00:00:08.000",
24+
"endTime": "00:00:13.200"
25+
},
26+
{
27+
"text": "Specify the workflow steps. <break time='0.25'/> Whether we are going to run a bandstructure calculation",
28+
"startTime": "00:00:14.000",
29+
"endTime": "00:00:19.200"
30+
},
31+
{
32+
"text": "Or a molecular dynamics calculation or something else?",
33+
"startTime": "00:00:19.500",
34+
"endTime": "00:00:23.000"
35+
},
36+
{
37+
"text": "Finally, depending on the system size, desired accuracy, and available resources, we can specify the compute parameters.",
38+
"startTime": "00:00:23.500",
39+
"endTime": "00:00:31.500"
40+
},
41+
{
42+
"text": "Such as the required number of nodes, the number of processors per node.",
43+
"startTime": "00:00:32.000",
44+
"endTime": "00:00:35.700"
45+
},
46+
{
47+
"text": "So, how do we specify the material system?",
48+
"startTime": "00:00:36.000",
49+
"endTime": "00:00:39.400"
50+
},
51+
{
52+
"text": "There are a few different options in matera platform.",
53+
"startTime": "00:00:40.000",
54+
"endTime": "00:00:43.000"
55+
},
56+
{
57+
"text": "We can upload structure files such as cif or vasp poscar formatted files from our local computer.",
58+
"startTime": "00:00:45.000",
59+
"endTime": "00:00:50.300"
60+
},
61+
{
62+
"text": "We can search in the materials bank. Currently there are over ten thousand structures contributed by matera user community.",
63+
"startTime": "00:00:54.000",
64+
"endTime": "00:01:00.000"
65+
},
66+
{
67+
"text": "Alternatively, <break time='0.25'/> We can import structure from third-party sources such as materials project.",
68+
"startTime": "00:01:01.000",
69+
"endTime": "00:01:07.000"
70+
},
71+
{
72+
"text": "If you still cannot find your structure, click the create button and design your material from scratch using materials designer.",
73+
"startTime": "00:01:08.000",
74+
"endTime": "00:01:14.000"
75+
},
76+
{
77+
"text": "Specify the lattice type, lattice constants, atomic positions, you have everything needed to generate any arbitrary structure.",
78+
"startTime": "00:01:15.000",
79+
"endTime": "00:01:24.000"
80+
},
81+
{
82+
"text": "Next, <break time='0.25'/>how do we specify workflow steps?",
83+
"startTime": "00:01:25.000",
84+
"endTime": "00:01:29.000"
85+
},
86+
{
87+
"text": "We can search in the workflow bank or create from scratch.",
88+
"startTime": "00:01:30.000",
89+
"endTime": "00:01:33.000"
90+
},
91+
{
92+
"text": "We can find most common workflows in matera workflow bank.",
93+
"startTime": "00:01:34.000",
94+
"endTime": "00:01:37.000"
95+
},
96+
{
97+
"text": "If required, we can always create workflows from scratch.",
98+
"startTime": "00:01:39.000",
99+
"endTime": "00:01:42.000"
100+
},
101+
{
102+
"text": "Specify if you need sub-workflow. Add units and flavors as required.",
103+
"startTime": "00:01:43.000",
104+
"endTime": "00:01:47.000"
105+
},
106+
{
107+
"text": "Once you have material and workflow in hand, navigate to job designer.",
108+
"startTime": "00:01:53.000",
109+
"endTime": "00:01:58.000"
110+
},
111+
{
112+
"text": "Click create new job. We can organize our jobs under an existing project or create new project.",
113+
"startTime": "00:01:59.000",
114+
"endTime": "00:02:04.000"
115+
},
116+
{
117+
"text": "Select a material or multiple materials as needed.",
118+
"startTime": "00:02:05.000",
119+
"endTime": "00:02:09.000"
120+
},
121+
{
122+
"text": "Select workflow and adjust any important parameters.",
123+
"startTime": "00:02:12.000",
124+
"endTime": "00:02:15.000"
125+
},
126+
{
127+
"text": "Navigate to compute tab and select cluster, queue type, number of nodes and number of processors per node.",
128+
"startTime": "00:02:19.000",
129+
"endTime": "00:02:24.000"
130+
},
131+
{
132+
"text": "Save and exit job designer.",
133+
"startTime": "00:02:25.000",
134+
"endTime": "00:02:26.000"
135+
},
136+
{
137+
"text": "Now our job creation is complete and ready to submit the job for execution.",
138+
"startTime": "00:02:27.000",
139+
"endTime": "00:02:33.000"
140+
},
141+
{
142+
"text": "Now visit platform dot matera dot com and try yourself. Thank you for watching this tutorial and using our platform.",
143+
"startTime": "00:02:34.000",
144+
"endTime": "00:02:41.000"
145+
}
146+
],
147+
"youTubeId": "hT1VBFH7HHo"
148+
}

lang/en/docs/jobs/overview.md

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,68 @@
11
# Jobs
22

3-
In this section we review the concept of computational "Jobs", which consist in the application of a [Workflow](../workflows/overview.md) (or simulation) on a [Material](../materials/overview.md) to produce one or more [Properties](../properties/overview.md).
4-
5-
Job is a "container" entity that is used to organize the data and track resource allocation. The terminology and naming is commonly used for distributed resource allocation management. A job, in the computational sense, represents the simplest entity that has accounting set up for, and can have one or more [Material](../materials/overview.md) and a single [Workflow](../workflows/overview.md) associated with it.
6-
7-
We implement Jobs as another [entity type](../entities-general/overview.md). As such, they have the same user interface components (with some distinct features) as other entities, as explained [here](../entities-general/ui/overview.md).
3+
In this section we review the concept of computational "Jobs", which consist in
4+
the application of a [Workflow](../workflows/overview.md) (or simulation) on a
5+
[Material](../materials/overview.md) to produce one or more [Properties](
6+
../properties/overview.md).
7+
8+
Job is a "container" entity that is used to organize the data and track resource
9+
allocation. The terminology and naming is commonly used for distributed resource
10+
allocation management. A job, in the computational sense, represents the
11+
simplest entity that has accounting set up for, and can have one or more
12+
[Material](../materials/overview.md) and a single [Workflow](
13+
../workflows/overview.md) associated with it.
14+
15+
We implement Jobs as another [entity type](../entities-general/overview.md). As
16+
such, they have the same user interface components (with some distinct features)
17+
as other entities, as explained [here](../entities-general/ui/overview.md).
818

919
## [Data](data.md)
1020

11-
The data convention applied for Jobs including, for example, their database representation is explained [in this page](data.md).
21+
The data convention applied for Jobs including, for example, their database
22+
representation is explained [in this page](data.md).
1223

1324
## [Status](status.md)
1425

15-
Jobs have different statuses attributed to them depending on the level of progress of the simulation. We explain the list of possible statuses [here](status.md).
26+
Jobs have different statuses attributed to them depending on the level of
27+
progress of the simulation. We explain the list of possible statuses [here](
28+
status.md).
1629

1730
## [Projects](projects.md)
1831

19-
Jobs can collectively be grouped together into [Sets](../entities-general/sets.md), which in this context are referred to as **[Projects](projects.md)**.
32+
Jobs can collectively be grouped together into [Sets](
33+
../entities-general/sets.md), which in this context are referred to as
34+
**[Projects](projects.md)**.
2035

2136
## User Interface
2237

2338
### [Explorer](ui/explorer.md)
2439

25-
Jobs Explorer is another specific implementation of the [Explorer](../entities-general/ui/explorer.md) component and is explained [in this page](ui/explorer.md).
40+
Jobs Explorer is another specific implementation of the [Explorer](
41+
../entities-general/ui/explorer.md) component and is explained [in this page](
42+
ui/explorer.md).
2643

27-
### [Designer](../jobs-designer/overview.md)
44+
### [Designer](../jobs-designer/overview.md)
2845

29-
Jobs Designer is another specific implementation of the [Designer](../entities-general/ui/designer.md) component described in more detail [here](../jobs-designer/overview.md).
46+
Jobs Designer is another specific implementation of the [Designer](
47+
../entities-general/ui/designer.md) component described in more detail [here](
48+
../jobs-designer/overview.md).
3049

3150
### [Viewer](ui/viewer.md)
32-
33-
[This page](ui/viewer.md) explains how the [Viewer](../entities-general/ui/viewer.md) differs from Designer component in the context of Jobs.
51+
52+
[This page](ui/viewer.md) explains how the [Viewer](
53+
../entities-general/ui/viewer.md) differs from Designer component in the context
54+
of Jobs.
3455

3556
## [Actions](actions/overview.md)
3657

37-
Some actions pertain specifically to Jobs, and are introduced [in this page](actions/overview.md).
58+
Some actions pertain specifically to Jobs, and are introduced [in this page](
59+
actions/overview.md).
60+
61+
## Screenshare video
62+
63+
Below we present a short video demonstrating how to create jobs in Mat3ra
64+
platform.
65+
66+
<div class="video-wrapper">
67+
<iframe class="gifffer" width="100%" height="100%" src="https://www.youtube.com/embed/hT1VBFH7HHo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
68+
</div>

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ extra_javascript:
3030
copyright: <a target="_blank" href="https://mat3ra.com">Exabyte Inc</a>. All rights reserved. | <a target="_blank" href="https://platform.mat3ra.com">Back to platform</a>
3131

3232
extra:
33-
version: "2025.2.27"
33+
version: "2025.5.29"
3434
preload_javascript:
3535
- /extra/js/preload_hotjar.js
3636
- /extra/js/preload.js

requirements.txt

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
babel==2.16.0
1+
babel==2.17.0
22
backports-abc==0.5
3+
backrefs==5.8
34
cachetools==5.5.2
4-
certifi==2024.8.30
5+
certifi==2025.4.26
56
chardet==4.0.0
6-
charset-normalizer==3.4.1
7-
click==8.1.8
7+
charset-normalizer==3.4.2
8+
click==8.2.1
89
colorama==0.4.6
910
enum34==1.1.10
1011
exabyte-json-include==2020.10.19
@@ -22,47 +23,47 @@ grpcio-status==1.66.2
2223
httplib2==0.22.0
2324
idna==3.10
2425
importlib_metadata==8.5.0
25-
Jinja2==3.1.5
26+
Jinja2==3.1.6
2627
latexcodec==3.0.0
2728
livereload==2.6.3
28-
Markdown==3.7
29-
MarkupSafe==2.1.5
29+
Markdown==3.8
30+
MarkupSafe==3.0.2
3031
mergedeep==1.3.4
3132
mkdocs==1.6.1
3233
mkdocs-bibtex==2.16.2
3334
mkdocs-get-deps==0.2.0
3435
mkdocs-git-revision-date-localized-plugin==1.2.9
3536
mkdocs-macros-plugin==1.2.0
36-
mkdocs-material==9.5.50
37+
mkdocs-material==9.6.14
3738
mkdocs-material-extensions==1.3.1
3839
oauth2client==4.1.3
39-
packaging==24.2
40+
packaging==25.0
4041
paginate==0.5.7
4142
pathspec==0.12.1
42-
platformdirs==4.3.6
43+
platformdirs==4.3.8
4344
proto-plus==1.24.0
4445
protobuf==5.28.3
4546
pyasn1==0.6.1
46-
pyasn1_modules==0.4.1
47+
pyasn1_modules==0.4.2
4748
pybtex==0.24.0
48-
Pygments==2.18.0
49-
pymdown-extensions==10.11.2
49+
Pygments==2.19.1
50+
pymdown-extensions==10.15
5051
pypandoc==1.15
5152
pyparsing==3.1.4
5253
python-dateutil==2.9.0.post0
5354
pytz==2024.2
5455
PyYAML==6.0.2
55-
pyyaml_env_tag==0.1
56+
pyyaml_env_tag==1.1
5657
regex==2024.9.11
5758
requests==2.32.3
58-
rsa==4.9
59+
rsa==4.9.1
5960
singledispatch==3.4.0.4
60-
six==1.16.0
61+
six==1.17.0
6162
smmap==5.0.2
6263
termcolor==2.5.0
63-
tornado==6.4.2
64+
tornado==6.5.1
6465
uritemplate==4.1.1
65-
urllib3==2.2.3
66+
urllib3==2.4.0
6667
validators==0.34.0
67-
watchdog==4.0.2
68+
watchdog==6.0.0
6869
zipp==3.20.2

0 commit comments

Comments
 (0)