CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
sagemathinc

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/next/pages/features/compute-server.tsx
Views: 687
1
/*
2
* This file is part of CoCalc: Copyright © 2023 Sagemath, Inc.
3
* License: MS-RSL – see LICENSE.md for details
4
*/
5
import { Layout } from "antd";
6
7
import { Icon } from "@cocalc/frontend/components/icon";
8
import Content from "components/landing/content";
9
import Footer from "components/landing/footer";
10
import Head from "components/landing/head";
11
import Header from "components/landing/header";
12
import Info from "components/landing/info";
13
import Pitch from "components/landing/pitch";
14
import SignIn from "components/landing/sign-in";
15
import { Paragraph, Text, Title } from "components/misc";
16
import { Customize } from "lib/customize";
17
import withCustomize from "lib/with-customize";
18
import runningComputeServer from "public/features/running-compute-server.png";
19
import ComputeServerCreate from "public/features/create-compute-server.png";
20
import ComputeServerSelector from "public/features/compute-server-select.png";
21
import A from "components/misc/A";
22
import ComputeServerTemplates from "components/landing/compute-server-templates";
23
import Videos from "components/videos";
24
25
const VIDEOS = [
26
{
27
id: "7fzLd6HD-Qs",
28
title: "Using Anaconda and Python with a GPU on a compute server on CoCalc",
29
},
30
{ id: "OMN1af0LUcA", title: "Using OpenWebUI and Ollama On CoCalc" },
31
{ id: "JG6jm6yv_KE", title: "PyTorch with a GPU on CoCalc" },
32
{ id: "NkNx6tx3nu0", title: "Running On-Prem Compute Servers on CoCalc" },
33
{
34
id: "Uwn3ngzXD0Y",
35
title: "JAX Quickstart on CoCalc using a GPU (or on CPU)",
36
},
37
];
38
39
export const component = "Compute Servers";
40
export const title = `Enhance your Projects with ${component}`;
41
export const logo = "servers";
42
43
export default function ComputeServer({ customize }) {
44
const { computeServersEnabled, siteName } = customize;
45
if (!computeServersEnabled) {
46
return <div>Compute Servers are not enabled on this server.</div>;
47
}
48
return (
49
<Customize value={customize}>
50
<Head title={title} />
51
<Layout>
52
<Header page="features" subPage="compute-server" />
53
<Layout.Content>
54
<div style={{ textAlign: "center", margin: "15px 0" }}>
55
<ComputeServerTemplates />
56
</div>
57
<Content
58
landing
59
startup={component}
60
body={<Icon name={logo} style={{ fontSize: "128px" }} />}
61
title={
62
<>
63
Enhance your Projects with{" "}
64
<A href="https://doc.cocalc.com/compute_server.html">
65
{component}
66
</A>
67
</>
68
}
69
subtitleBelow={true}
70
subtitle={
71
<div>
72
Extend your project's compute capabilities far beyond the bounds
73
of its underlying compute environment. Read{" "}
74
<A href="https://doc.cocalc.com/compute_server.html">
75
the documentation
76
</A>
77
.
78
</div>
79
}
80
image={runningComputeServer}
81
alt={"A Running Compute Server with an H100 GPU"}
82
caption={
83
<div style={{ marginTop: "10px" }}>
84
Compute servers enhance your CoCalc project
85
</div>
86
}
87
/>
88
<Pitch
89
col1={
90
<>
91
<Title level={2}>Versatility</Title>
92
<Paragraph>
93
Configure the remote compute servers exactly to your needs
94
</Paragraph>
95
<Paragraph>
96
<ul>
97
<li>
98
<Text strong>GPU's</Text>: select one or more powerful
99
GPUs for your selected machine, including H100's for about
100
$2/hour.
101
</li>
102
<li>
103
<Text strong>CPU</Text>: you can not only select the
104
number of CPU cores, but also the type of processor, with
105
support for both x86_64 and ARM.
106
</li>
107
<li>
108
<Text strong>Memory</Text>: depending on the type of
109
machine, select from a huge range of possible memory
110
configurations, exceeding 1000 GB.
111
</li>
112
<li>
113
<Text strong>Disk</Text>: configure the size and speed of
114
the provisioned disk
115
</li>
116
<li>
117
<Text strong>Shared Cloud Disk</Text>: mount a single
118
shared cloud filesystem across your compute servers
119
</li>
120
<li>
121
<Text strong>Hosting</Text>: choose a subdomain, in order
122
to host web applications, VS Code, JupyterLab, R IDE,
123
Pluto, and more.
124
</li>
125
</ul>
126
</Paragraph>
127
</>
128
}
129
col2={
130
<>
131
<Title level={2}>
132
<A href="https://github.com/sagemathinc/cocalc-howto#readme">
133
Use cases
134
</A>
135
</Title>
136
<Paragraph>
137
<ul>
138
<li>
139
Use the{" "}
140
<A href="https://github.com/sagemathinc/cocalc-howto/blob/main/colab.md">
141
Google Colab Software Environment with a GPU
142
</A>
143
</li>
144
<li>
145
<A href="https://github.com/sagemathinc/cocalc-howto/blob/main/pytorch.md">
146
Use the official PyTorch image with a GPU
147
</A>
148
</li>
149
<li>
150
<A href="https://github.com/sagemathinc/cocalc-howto/blob/main/mathematica.md">
151
Use the Mathematica Jupyter Kernel
152
</A>
153
</li>
154
<li>
155
<A href="https://github.com/sagemathinc/cocalc-howto/blob/main/ollama.md">
156
Use Ollama with a nice web UI to run Large Language
157
Models using GPUs
158
</A>
159
</li>
160
<li>
161
Use a large number of CPUs and RAM to run resource
162
intensive computations in parallel using R, SageMath, etc.
163
</li>
164
<li>
165
Run your own custom{" "}
166
<A href="https://github.com/sagemathinc/cocalc-docker/blob/master/docs/cocalc.com.md">
167
CoCalc server
168
</A>{" "}
169
or{" "}
170
<A href="https://github.com/sagemathinc/cocalc-howto/blob/main/SageMathCell.md">
171
Sage Cell Server
172
</A>{" "}
173
anywhere in the world.
174
</li>
175
<li>
176
<A href="https://github.com/sagemathinc/cocalc-howto/blob/main/README.md">
177
Many more applications...
178
</A>
179
</li>
180
</ul>
181
<Videos videos={VIDEOS} />
182
</Paragraph>
183
</>
184
}
185
/>
186
187
<Info.Heading description={"More details about compute servers"}>
188
Compute Server Functionality
189
</Info.Heading>
190
191
<Info
192
title="Seamless Integration"
193
icon="sync"
194
image={ComputeServerSelector}
195
anchor="a-integration"
196
alt="Select compute server"
197
wide
198
>
199
<Paragraph>
200
{siteName} makes switching between the local compute environment
201
and the remote compute server very easy.
202
</Paragraph>
203
<Paragraph>
204
The files in your project are synchronized with the compute
205
server, which eliminates any headaches provisioning storage and
206
transferring files back and forth.
207
</Paragraph>
208
<Paragraph>
209
As part of configuring the remote server, you can tune which
210
folders are excluded from synchronization, select additional
211
scratch storage space, and also configure the size of the remote
212
storage disk.
213
</Paragraph>
214
<Paragraph>
215
At the end of using the compute machine, you can either stop it to
216
preserve the data, or delete it to save the cost of keeping the
217
stored files around. You can also store data longterm in our{" "}
218
<A href="https://doc.cocalc.com/cloud_file_system.html">
219
Cloud Filesystem
220
</A>
221
.
222
</Paragraph>
223
</Info>
224
225
<Info
226
title="Versatile Configuration"
227
icon="servers"
228
image={ComputeServerCreate}
229
anchor="a-create"
230
alt="Configuring compute server"
231
wide
232
>
233
<Paragraph>
234
You can create servers with over 10TB of RAM, over 400 cores, and
235
up to 65TB of disk space.
236
</Paragraph>
237
<Paragraph>
238
You can choose from a wide range of GPU's: T4, L4, L40, A100,
239
H100, RTX 4000, 5000, and 6000!
240
</Paragraph>
241
<Paragraph>
242
Many preconfigured software stacks are available, including
243
PyTorch, Tensorflow, Google Colab, CUDA, SageMath, Julia, and R.
244
</Paragraph>
245
<Paragraph>
246
You can easily compare prices in different regions across the
247
world, and get the best spot instance deals, or select low CO2
248
data centers. Compute servers have a cached networked filesystem,
249
so you can take advantage of much better global rates, rather than
250
being stuck in one region.
251
</Paragraph>
252
<Paragraph>
253
You can dynamically enlarge your disk at any time, even while the
254
server is running, and the OS will automatically enlarge the
255
available space.
256
</Paragraph>
257
</Info>
258
<SignIn />
259
</Layout.Content>
260
<Footer />
261
</Layout>
262
</Customize>
263
);
264
}
265
266
export async function getServerSideProps(context) {
267
return await withCustomize({ context });
268
}
269
270