WEBVTT
Kind: captions
Language: en

00:00:00.060 --> 00:00:01.760 align:start position:0%
 
so<00:00:00.390><c> there's</c><00:00:00.570><c> been</c><00:00:00.750><c> a</c><00:00:00.810><c> lot</c><00:00:01.170><c> of</c><00:00:01.199><c> excitement</c>

00:00:01.760 --> 00:00:01.770 align:start position:0%
so there's been a lot of excitement
 

00:00:01.770 --> 00:00:05.180 align:start position:0%
so there's been a lot of excitement
about<00:00:02.070><c> Prague</c><00:00:02.490><c> pal</c><00:00:02.820><c> and</c><00:00:03.350><c> what</c><00:00:04.350><c> is</c><00:00:04.589><c> Prague</c><00:00:04.950><c> pow</c>

00:00:05.180 --> 00:00:05.190 align:start position:0%
about Prague pal and what is Prague pow
 

00:00:05.190 --> 00:00:07.419 align:start position:0%
about Prague pal and what is Prague pow
well<00:00:05.520><c> it's</c><00:00:05.850><c> a</c><00:00:06.089><c> programmatic</c><00:00:06.540><c> proof</c><00:00:06.990><c> of</c><00:00:07.140><c> work</c>

00:00:07.419 --> 00:00:07.429 align:start position:0%
well it's a programmatic proof of work
 

00:00:07.429 --> 00:00:10.850 align:start position:0%
well it's a programmatic proof of work
and<00:00:08.780><c> we're</c><00:00:09.780><c> going</c><00:00:10.019><c> to</c><00:00:10.110><c> be</c><00:00:10.200><c> tackling</c><00:00:10.590><c> all</c><00:00:10.740><c> your</c>

00:00:10.850 --> 00:00:10.860 align:start position:0%
and we're going to be tackling all your
 

00:00:10.860 --> 00:00:13.490 align:start position:0%
and we're going to be tackling all your
questions<00:00:11.099><c> and</c><00:00:11.519><c> answers</c><00:00:11.880><c> today</c><00:00:12.170><c> this</c><00:00:13.170><c> will</c><00:00:13.349><c> be</c>

00:00:13.490 --> 00:00:13.500 align:start position:0%
questions and answers today this will be
 

00:00:13.500 --> 00:00:15.379 align:start position:0%
questions and answers today this will be
sort<00:00:13.889><c> of</c><00:00:13.920><c> a</c><00:00:14.009><c> medium</c><00:00:14.250><c> level</c><00:00:14.700><c> expertise</c>

00:00:15.379 --> 00:00:15.389 align:start position:0%
sort of a medium level expertise
 

00:00:15.389 --> 00:00:17.720 align:start position:0%
sort of a medium level expertise
presentation<00:00:16.379><c> so</c><00:00:16.619><c> not</c><00:00:16.920><c> too</c><00:00:17.160><c> technical</c><00:00:17.400><c> but</c>

00:00:17.720 --> 00:00:17.730 align:start position:0%
presentation so not too technical but
 

00:00:17.730 --> 00:00:21.349 align:start position:0%
presentation so not too technical but
not<00:00:18.000><c> too</c><00:00:18.180><c> generic</c><00:00:18.359><c> and</c><00:00:19.670><c> if</c><00:00:20.670><c> you</c><00:00:20.880><c> really</c><00:00:21.210><c> want</c>

00:00:21.349 --> 00:00:21.359 align:start position:0%
not too generic and if you really want
 

00:00:21.359 --> 00:00:23.870 align:start position:0%
not too generic and if you really want
to<00:00:21.420><c> go</c><00:00:21.539><c> in</c><00:00:21.779><c> a</c><00:00:21.869><c> deeper</c><00:00:22.199><c> dive</c><00:00:22.380><c> I</c><00:00:22.800><c> figure</c><00:00:23.250><c> you</c>

00:00:23.870 --> 00:00:23.880 align:start position:0%
to go in a deeper dive I figure you
 

00:00:23.880 --> 00:00:25.400 align:start position:0%
to go in a deeper dive I figure you
should<00:00:24.090><c> check</c><00:00:24.240><c> out</c><00:00:24.390><c> the</c><00:00:24.510><c> official</c><00:00:24.840><c> github</c>

00:00:25.400 --> 00:00:25.410 align:start position:0%
should check out the official github
 

00:00:25.410 --> 00:00:27.679 align:start position:0%
should check out the official github
repo<00:00:25.800><c> with</c><00:00:26.220><c> the</c><00:00:26.490><c> official</c><00:00:27.180><c> code</c><00:00:27.359><c> and</c><00:00:27.630><c> the</c>

00:00:27.679 --> 00:00:27.689 align:start position:0%
repo with the official code and the
 

00:00:27.689 --> 00:00:29.839 align:start position:0%
repo with the official code and the
white<00:00:27.869><c> paper</c><00:00:28.109><c> as</c><00:00:28.470><c> well</c><00:00:29.220><c> as</c><00:00:29.340><c> our</c><00:00:29.490><c> medium</c>

00:00:29.839 --> 00:00:29.849 align:start position:0%
white paper as well as our medium
 

00:00:29.849 --> 00:00:34.940 align:start position:0%
white paper as well as our medium
accounts<00:00:31.520><c> but</c><00:00:32.520><c> first</c><00:00:32.850><c> a</c><00:00:33.329><c> little</c><00:00:33.960><c> bit</c><00:00:34.170><c> about</c>

00:00:34.940 --> 00:00:34.950 align:start position:0%
accounts but first a little bit about
 

00:00:34.950 --> 00:00:38.660 align:start position:0%
accounts but first a little bit about
the<00:00:35.610><c> team</c><00:00:36.079><c> so</c><00:00:37.079><c> too</c><00:00:37.680><c> many</c><00:00:37.890><c> people</c><00:00:38.309><c> put</c><00:00:38.489><c> an</c>

00:00:38.660 --> 00:00:38.670 align:start position:0%
the team so too many people put an
 

00:00:38.670 --> 00:00:41.360 align:start position:0%
the team so too many people put an
emphasis<00:00:38.820><c> on</c><00:00:39.300><c> the</c><00:00:39.450><c> people</c><00:00:39.719><c> behind</c><00:00:40.370><c> algorithms</c>

00:00:41.360 --> 00:00:41.370 align:start position:0%
emphasis on the people behind algorithms
 

00:00:41.370 --> 00:00:43.610 align:start position:0%
emphasis on the people behind algorithms
or<00:00:41.550><c> work</c><00:00:41.790><c> which</c><00:00:42.059><c> is</c><00:00:42.239><c> highly</c><00:00:42.899><c> amusing</c><00:00:43.230><c> to</c><00:00:43.500><c> me</c>

00:00:43.610 --> 00:00:43.620 align:start position:0%
or work which is highly amusing to me
 

00:00:43.620 --> 00:00:45.760 align:start position:0%
or work which is highly amusing to me
especially<00:00:43.739><c> considering</c><00:00:44.700><c> that</c><00:00:44.820><c> you</c><00:00:45.510><c> know</c>

00:00:45.760 --> 00:00:45.770 align:start position:0%
especially considering that you know
 

00:00:45.770 --> 00:00:49.910 align:start position:0%
especially considering that you know
cryptocurrency<00:00:46.770><c> is</c><00:00:47.129><c> all</c><00:00:47.280><c> about</c><00:00:47.550><c> no</c><00:00:48.480><c> trust</c><00:00:48.920><c> but</c>

00:00:49.910 --> 00:00:49.920 align:start position:0%
cryptocurrency is all about no trust but
 

00:00:49.920 --> 00:00:52.639 align:start position:0%
cryptocurrency is all about no trust but
hey<00:00:50.129><c> I</c><00:00:50.399><c> learned</c><00:00:51.239><c> from</c><00:00:51.870><c> the</c><00:00:51.989><c> first</c><00:00:52.170><c> time</c><00:00:52.410><c> when</c>

00:00:52.639 --> 00:00:52.649 align:start position:0%
hey I learned from the first time when
 

00:00:52.649 --> 00:00:54.229 align:start position:0%
hey I learned from the first time when
we<00:00:52.680><c> were</c><00:00:52.829><c> released</c><00:00:53.100><c> Prague</c><00:00:53.399><c> pal</c><00:00:53.610><c> that</c><00:00:53.879><c> you've</c>

00:00:54.229 --> 00:00:54.239 align:start position:0%
we were released Prague pal that you've
 

00:00:54.239 --> 00:00:56.299 align:start position:0%
we were released Prague pal that you've
actually<00:00:54.570><c> have</c><00:00:54.719><c> to</c><00:00:54.809><c> do</c><00:00:54.899><c> these</c><00:00:55.079><c> disclaimers</c><00:00:55.530><c> so</c>

00:00:56.299 --> 00:00:56.309 align:start position:0%
actually have to do these disclaimers so
 

00:00:56.309 --> 00:00:59.900 align:start position:0%
actually have to do these disclaimers so
I<00:00:56.789><c> figure</c><00:00:57.800><c> we</c><00:00:58.800><c> have</c><00:00:58.949><c> to</c><00:00:59.070><c> do</c><00:00:59.190><c> a</c><00:00:59.219><c> disclosure</c><00:00:59.640><c> on</c>

00:00:59.900 --> 00:00:59.910 align:start position:0%
I figure we have to do a disclosure on
 

00:00:59.910 --> 00:01:03.500 align:start position:0%
I figure we have to do a disclosure on
who<00:01:00.090><c> we</c><00:01:00.239><c> are</c><00:01:00.530><c> so</c><00:01:01.530><c> it</c><00:01:01.800><c> Pro</c><00:01:02.579><c> POW</c><00:01:02.820><c> is</c><00:01:03.090><c> made</c><00:01:03.270><c> by</c>

00:01:03.500 --> 00:01:03.510 align:start position:0%
who we are so it Pro POW is made by
 

00:01:03.510 --> 00:01:07.490 align:start position:0%
who we are so it Pro POW is made by
three<00:01:04.019><c> people</c><00:01:04.320><c> if</c><00:01:04.530><c> def</c><00:01:04.949><c> else</c><00:01:05.189><c> I</c><00:01:05.630><c> am</c><00:01:06.630><c> miss</c><00:01:06.869><c> if</c><00:01:07.110><c> I</c>

00:01:07.490 --> 00:01:07.500 align:start position:0%
three people if def else I am miss if I
 

00:01:07.500 --> 00:01:10.039 align:start position:0%
three people if def else I am miss if I
am<00:01:08.189><c> currently</c><00:01:08.430><c> chief</c><00:01:08.850><c> technology</c><00:01:09.450><c> officer</c><00:01:09.900><c> of</c>

00:01:10.039 --> 00:01:10.049 align:start position:0%
am currently chief technology officer of
 

00:01:10.049 --> 00:01:12.289 align:start position:0%
am currently chief technology officer of
course<00:01:10.260><c> scientific</c><00:01:10.950><c> course</c><00:01:11.580><c> scientific</c><00:01:12.180><c> is</c>

00:01:12.289 --> 00:01:12.299 align:start position:0%
course scientific course scientific is
 

00:01:12.299 --> 00:01:14.450 align:start position:0%
course scientific course scientific is
an<00:01:12.390><c> artificial</c><00:01:13.159><c> intelligence</c><00:01:14.159><c> and</c>

00:01:14.450 --> 00:01:14.460 align:start position:0%
an artificial intelligence and
 

00:01:14.460 --> 00:01:16.070 align:start position:0%
an artificial intelligence and
blockchain<00:01:14.850><c> infrastructure</c><00:01:15.600><c> and</c><00:01:15.720><c> hosting</c>

00:01:16.070 --> 00:01:16.080 align:start position:0%
blockchain infrastructure and hosting
 

00:01:16.080 --> 00:01:18.440 align:start position:0%
blockchain infrastructure and hosting
company<00:01:16.409><c> I'm</c><00:01:17.310><c> also</c><00:01:17.580><c> the</c><00:01:17.850><c> founder</c><00:01:18.030><c> of</c><00:01:18.330><c> the</c>

00:01:18.440 --> 00:01:18.450 align:start position:0%
company I'm also the founder of the
 

00:01:18.450 --> 00:01:20.270 align:start position:0%
company I'm also the founder of the
minority<00:01:18.960><c> group</c><00:01:19.229><c> who</c><00:01:19.500><c> is</c><00:01:19.650><c> responsible</c><00:01:20.250><c> for</c>

00:01:20.270 --> 00:01:20.280 align:start position:0%
minority group who is responsible for
 

00:01:20.280 --> 00:01:23.300 align:start position:0%
minority group who is responsible for
our<00:01:20.549><c> fantastic</c><00:01:21.150><c> graphics</c><00:01:21.360><c> today</c><00:01:21.869><c> and</c><00:01:22.310><c> I'm</c>

00:01:23.300 --> 00:01:23.310 align:start position:0%
our fantastic graphics today and I'm
 

00:01:23.310 --> 00:01:25.310 align:start position:0%
our fantastic graphics today and I'm
also<00:01:23.520><c> extraneous</c><00:01:24.090><c> mining</c><00:01:24.659><c> the</c><00:01:24.990><c> world's</c>

00:01:25.310 --> 00:01:25.320 align:start position:0%
also extraneous mining the world's
 

00:01:25.320 --> 00:01:28.850 align:start position:0%
also extraneous mining the world's
leading<00:01:25.560><c> hashing</c><00:01:26.220><c> power</c><00:01:26.250><c> provider</c><00:01:26.850><c> and</c><00:01:27.860><c> then</c>

00:01:28.850 --> 00:01:28.860 align:start position:0%
leading hashing power provider and then
 

00:01:28.860 --> 00:01:31.969 align:start position:0%
leading hashing power provider and then
we<00:01:29.250><c> also</c><00:01:29.430><c> have</c><00:01:29.759><c> mr.</c><00:01:30.090><c> def</c><00:01:30.450><c> mr.</c><00:01:31.229><c> def</c><00:01:31.409><c> is</c><00:01:31.650><c> an</c>

00:01:31.969 --> 00:01:31.979 align:start position:0%
we also have mr. def mr. def is an
 

00:01:31.979 --> 00:01:34.100 align:start position:0%
we also have mr. def mr. def is an
experienced<00:01:32.610><c> systems</c><00:01:33.060><c> engineer</c><00:01:33.540><c> he's</c><00:01:34.079><c> a</c>

00:01:34.100 --> 00:01:34.110 align:start position:0%
experienced systems engineer he's a
 

00:01:34.110 --> 00:01:36.289 align:start position:0%
experienced systems engineer he's a
blockchain<00:01:34.439><c> enthusiast</c><00:01:35.280><c> and</c><00:01:35.790><c> I</c><00:01:35.909><c> like</c><00:01:36.060><c> to</c><00:01:36.180><c> call</c>

00:01:36.289 --> 00:01:36.299 align:start position:0%
blockchain enthusiast and I like to call
 

00:01:36.299 --> 00:01:38.120 align:start position:0%
blockchain enthusiast and I like to call
him<00:01:36.390><c> a</c><00:01:36.540><c> professional</c><00:01:37.049><c> cat</c><00:01:37.229><c> herder</c><00:01:37.619><c> because</c>

00:01:38.120 --> 00:01:38.130 align:start position:0%
him a professional cat herder because
 

00:01:38.130 --> 00:01:41.149 align:start position:0%
him a professional cat herder because
that's<00:01:38.340><c> pretty</c><00:01:38.490><c> much</c><00:01:38.610><c> what</c><00:01:38.780><c> 24</c><00:01:39.780><c> 24</c><00:01:40.770><c> hours</c><00:01:41.009><c> of</c>

00:01:41.149 --> 00:01:41.159 align:start position:0%
that's pretty much what 24 24 hours of
 

00:01:41.159 --> 00:01:44.359 align:start position:0%
that's pretty much what 24 24 hours of
his<00:01:41.280><c> job</c><00:01:41.579><c> consists</c><00:01:42.090><c> of</c><00:01:42.619><c> and</c><00:01:43.619><c> then</c><00:01:43.740><c> we</c><00:01:43.829><c> have</c><00:01:43.979><c> mr.</c>

00:01:44.359 --> 00:01:44.369 align:start position:0%
his job consists of and then we have mr.
 

00:01:44.369 --> 00:01:45.620 align:start position:0%
his job consists of and then we have mr.
mr.<00:01:45.119><c> elfs</c>

00:01:45.620 --> 00:01:45.630 align:start position:0%
mr. elfs
 

00:01:45.630 --> 00:01:48.139 align:start position:0%
mr. elfs
so<00:01:46.140><c> mr.</c><00:01:46.470><c> else</c><00:01:46.649><c> is</c><00:01:46.890><c> quite</c><00:01:47.340><c> an</c><00:01:47.490><c> experienced</c>

00:01:48.139 --> 00:01:48.149 align:start position:0%
so mr. else is quite an experienced
 

00:01:48.149 --> 00:01:50.719 align:start position:0%
so mr. else is quite an experienced
semiconductor<00:01:48.899><c> engineer</c><00:01:49.350><c> he</c><00:01:49.950><c> has</c><00:01:50.070><c> over</c><00:01:50.369><c> 10</c>

00:01:50.719 --> 00:01:50.729 align:start position:0%
semiconductor engineer he has over 10
 

00:01:50.729 --> 00:01:53.359 align:start position:0%
semiconductor engineer he has over 10
years<00:01:51.000><c> of</c><00:01:51.149><c> experience</c><00:01:51.270><c> working</c><00:01:52.159><c> in</c><00:01:53.159><c> this</c>

00:01:53.359 --> 00:01:53.369 align:start position:0%
years of experience working in this
 

00:01:53.369 --> 00:01:58.639 align:start position:0%
years of experience working in this
space<00:01:53.549><c> and</c><00:01:55.880><c> he</c><00:01:56.880><c> is</c><00:01:57.180><c> also</c><00:01:57.479><c> an</c><00:01:57.689><c> experienced</c><00:01:58.229><c> GPU</c>

00:01:58.639 --> 00:01:58.649 align:start position:0%
space and he is also an experienced GPU
 

00:01:58.649 --> 00:02:01.940 align:start position:0%
space and he is also an experienced GPU
architect<00:01:59.250><c> and</c><00:01:59.520><c> he</c><00:01:59.790><c> loves</c><00:02:00.030><c> Prague</c><00:02:00.540><c> pal</c><00:02:00.950><c> but</c>

00:02:01.940 --> 00:02:01.950 align:start position:0%
architect and he loves Prague pal but
 

00:02:01.950 --> 00:02:03.859 align:start position:0%
architect and he loves Prague pal but
not<00:02:02.340><c> the</c><00:02:02.430><c> pro</c><00:02:02.610><c> pal</c><00:02:02.850><c> we're</c><00:02:03.060><c> all</c><00:02:03.210><c> familiar</c><00:02:03.390><c> with</c>

00:02:03.859 --> 00:02:03.869 align:start position:0%
not the pro pal we're all familiar with
 

00:02:03.869 --> 00:02:09.859 align:start position:0%
not the pro pal we're all familiar with
he<00:02:04.799><c> loves</c><00:02:05.009><c> this</c><00:02:05.159><c> program</c><00:02:06.890><c> and</c><00:02:08.330><c> together</c><00:02:09.330><c> we</c>

00:02:09.859 --> 00:02:09.869 align:start position:0%
he loves this program and together we
 

00:02:09.869 --> 00:02:11.460 align:start position:0%
he loves this program and together we
are<00:02:09.899><c> if</c><00:02:10.140><c> def</c><00:02:10.379><c> else</c>

00:02:11.460 --> 00:02:11.470 align:start position:0%
are if def else
 

00:02:11.470 --> 00:02:16.980 align:start position:0%
are if def else
so<00:02:12.340><c> what</c><00:02:12.520><c> is</c><00:02:12.700><c> prog</c><00:02:13.060><c> pal</c><00:02:14.970><c> well</c><00:02:15.970><c> as</c><00:02:16.510><c> I</c><00:02:16.750><c> said</c>

00:02:16.980 --> 00:02:16.990 align:start position:0%
so what is prog pal well as I said
 

00:02:16.990 --> 00:02:18.900 align:start position:0%
so what is prog pal well as I said
before<00:02:17.140><c> it's</c><00:02:17.590><c> a</c><00:02:17.740><c> programmable</c><00:02:18.670><c> a</c>

00:02:18.900 --> 00:02:18.910 align:start position:0%
before it's a programmable a
 

00:02:18.910 --> 00:02:22.140 align:start position:0%
before it's a programmable a
programmatic<00:02:19.300><c> proof-of-work</c><00:02:20.260><c> or</c><00:02:20.920><c> as</c><00:02:21.670><c> we</c><00:02:21.970><c> like</c>

00:02:22.140 --> 00:02:22.150 align:start position:0%
programmatic proof-of-work or as we like
 

00:02:22.150 --> 00:02:24.300 align:start position:0%
programmatic proof-of-work or as we like
to<00:02:22.180><c> say</c><00:02:22.300><c> a</c><00:02:22.420><c> GP</c><00:02:22.870><c> you</c><00:02:22.900><c> tuned</c><00:02:23.290><c> extension</c><00:02:23.980><c> of</c><00:02:24.130><c> it</c>

00:02:24.300 --> 00:02:24.310 align:start position:0%
to say a GP you tuned extension of it
 

00:02:24.310 --> 00:02:28.440 align:start position:0%
to say a GP you tuned extension of it
hash<00:02:25.260><c> it's</c><00:02:26.260><c> also</c><00:02:26.470><c> sometimes</c><00:02:26.890><c> called</c><00:02:27.450><c> portal</c>

00:02:28.440 --> 00:02:28.450 align:start position:0%
hash it's also sometimes called portal
 

00:02:28.450 --> 00:02:32.550 align:start position:0%
hash it's also sometimes called portal
or<00:02:28.720><c> pongy</c><00:02:29.260><c> well</c><00:02:29.410><c> after</c><00:02:30.280><c> this</c><00:02:30.820><c> little</c><00:02:31.150><c> guy</c><00:02:31.560><c> our</c>

00:02:32.550 --> 00:02:32.560 align:start position:0%
or pongy well after this little guy our
 

00:02:32.560 --> 00:02:35.390 align:start position:0%
or pongy well after this little guy our
little<00:02:32.920><c> hero</c><00:02:33.190><c> from</c><00:02:33.580><c> Star</c><00:02:33.850><c> Wars</c><00:02:33.880><c> lost</c><00:02:34.420><c> Jedi</c><00:02:34.810><c> and</c>

00:02:35.390 --> 00:02:35.400 align:start position:0%
little hero from Star Wars lost Jedi and
 

00:02:35.400 --> 00:02:37.890 align:start position:0%
little hero from Star Wars lost Jedi and
it<00:02:36.400><c> also</c><00:02:36.550><c> takes</c><00:02:36.880><c> its</c><00:02:37.120><c> roots</c><00:02:37.360><c> from</c><00:02:37.510><c> the</c><00:02:37.660><c> word</c>

00:02:37.890 --> 00:02:37.900 align:start position:0%
it also takes its roots from the word
 

00:02:37.900 --> 00:02:40.770 align:start position:0%
it also takes its roots from the word
programmatic<00:02:38.620><c> now</c><00:02:39.580><c> I</c><00:02:40.000><c> quite</c><00:02:40.570><c> like</c>

00:02:40.770 --> 00:02:40.780 align:start position:0%
programmatic now I quite like
 

00:02:40.780 --> 00:02:42.120 align:start position:0%
programmatic now I quite like
programmatic<00:02:41.410><c> because</c><00:02:41.560><c> it's</c><00:02:41.680><c> a</c><00:02:41.740><c> great</c><00:02:41.920><c> way</c><00:02:42.100><c> to</c>

00:02:42.120 --> 00:02:42.130 align:start position:0%
programmatic because it's a great way to
 

00:02:42.130 --> 00:02:44.850 align:start position:0%
programmatic because it's a great way to
explain<00:02:42.850><c> algorithms</c><00:02:43.720><c> algorithms</c><00:02:44.470><c> are</c>

00:02:44.850 --> 00:02:44.860 align:start position:0%
explain algorithms algorithms are
 

00:02:44.860 --> 00:02:47.550 align:start position:0%
explain algorithms algorithms are
actually<00:02:45.160><c> very</c><00:02:45.490><c> musical</c><00:02:46.120><c> I'm</c><00:02:46.690><c> you</c><00:02:47.080><c> know</c><00:02:47.200><c> every</c>

00:02:47.550 --> 00:02:47.560 align:start position:0%
actually very musical I'm you know every
 

00:02:47.560 --> 00:02:51.180 align:start position:0%
actually very musical I'm you know every
algorithm<00:02:48.220><c> has</c><00:02:48.880><c> a</c><00:02:49.240><c> beat</c><00:02:49.540><c> and</c><00:02:50.190><c> optimization</c>

00:02:51.180 --> 00:02:51.190 align:start position:0%
algorithm has a beat and optimization
 

00:02:51.190 --> 00:02:52.830 align:start position:0%
algorithm has a beat and optimization
when<00:02:51.550><c> we</c><00:02:51.640><c> talk</c><00:02:51.820><c> about</c><00:02:51.850><c> optimization</c><00:02:52.210><c> of</c>

00:02:52.830 --> 00:02:52.840 align:start position:0%
when we talk about optimization of
 

00:02:52.840 --> 00:02:54.660 align:start position:0%
when we talk about optimization of
software<00:02:53.320><c> or</c><00:02:53.440><c> hardware</c><00:02:53.890><c> it's</c><00:02:54.370><c> all</c><00:02:54.490><c> about</c>

00:02:54.660 --> 00:02:54.670 align:start position:0%
software or hardware it's all about
 

00:02:54.670 --> 00:02:56.730 align:start position:0%
software or hardware it's all about
matching<00:02:55.150><c> the</c><00:02:55.270><c> beat</c><00:02:55.480><c> of</c><00:02:55.630><c> an</c><00:02:55.720><c> algorithm</c><00:02:56.020><c> to</c><00:02:56.620><c> the</c>

00:02:56.730 --> 00:02:56.740 align:start position:0%
matching the beat of an algorithm to the
 

00:02:56.740 --> 00:02:59.670 align:start position:0%
matching the beat of an algorithm to the
beat<00:02:56.920><c> of</c><00:02:56.950><c> a</c><00:02:57.130><c> hardware</c><00:02:57.450><c> so</c><00:02:58.450><c> at</c><00:02:58.690><c> hash</c><00:02:58.960><c> I</c><00:02:59.320><c> like</c><00:02:59.560><c> to</c>

00:02:59.670 --> 00:02:59.680 align:start position:0%
beat of a hardware so at hash I like to
 

00:02:59.680 --> 00:03:01.980 align:start position:0%
beat of a hardware so at hash I like to
say<00:02:59.800><c> is</c><00:02:59.920><c> a</c><00:02:59.950><c> little</c><00:03:00.070><c> like</c><00:03:00.310><c> trap</c><00:03:00.580><c> core</c><00:03:00.880><c> Manero</c><00:03:01.780><c> is</c>

00:03:01.980 --> 00:03:01.990 align:start position:0%
say is a little like trap core Manero is
 

00:03:01.990 --> 00:03:04.110 align:start position:0%
say is a little like trap core Manero is
like<00:03:02.140><c> dubstep</c><00:03:02.410><c> z</c><00:03:03.280><c> cache</c><00:03:03.520><c> is</c><00:03:03.700><c> a</c><00:03:03.730><c> little</c><00:03:04.000><c> like</c>

00:03:04.110 --> 00:03:04.120 align:start position:0%
like dubstep z cache is a little like
 

00:03:04.120 --> 00:03:07.200 align:start position:0%
like dubstep z cache is a little like
rock<00:03:04.420><c> and</c><00:03:04.780><c> these</c><00:03:05.620><c> beats</c><00:03:05.950><c> like</c><00:03:06.670><c> I</c><00:03:06.820><c> said</c><00:03:07.030><c> they</c>

00:03:07.200 --> 00:03:07.210 align:start position:0%
rock and these beats like I said they
 

00:03:07.210 --> 00:03:09.210 align:start position:0%
rock and these beats like I said they
need<00:03:07.240><c> to</c><00:03:07.510><c> synchronize</c><00:03:08.320><c> with</c><00:03:08.350><c> the</c><00:03:08.860><c> hardware</c>

00:03:09.210 --> 00:03:09.220 align:start position:0%
need to synchronize with the hardware
 

00:03:09.220 --> 00:03:14.610 align:start position:0%
need to synchronize with the hardware
itself<00:03:10.560><c> so</c><00:03:11.560><c> let's</c><00:03:11.680><c> do</c><00:03:11.950><c> a</c><00:03:12.160><c> big</c><00:03:12.550><c> deep</c><00:03:12.760><c> dive</c><00:03:13.620><c> right</c>

00:03:14.610 --> 00:03:14.620 align:start position:0%
itself so let's do a big deep dive right
 

00:03:14.620 --> 00:03:17.970 align:start position:0%
itself so let's do a big deep dive right
now<00:03:14.830><c> why</c><00:03:15.190><c> was</c><00:03:15.400><c> prog</c><00:03:15.670><c> pal</c><00:03:15.910><c> created</c><00:03:16.600><c> well</c><00:03:17.080><c> today</c>

00:03:17.970 --> 00:03:17.980 align:start position:0%
now why was prog pal created well today
 

00:03:17.980 --> 00:03:19.590 align:start position:0%
now why was prog pal created well today
there's<00:03:18.280><c> kind</c><00:03:18.730><c> of</c><00:03:18.850><c> a</c><00:03:18.970><c> problem</c><00:03:19.209><c> with</c>

00:03:19.590 --> 00:03:19.600 align:start position:0%
there's kind of a problem with
 

00:03:19.600 --> 00:03:23.390 align:start position:0%
there's kind of a problem with
algorithms<00:03:20.230><c> you</c><00:03:21.160><c> see</c><00:03:21.420><c> traditionally</c>

00:03:23.390 --> 00:03:23.400 align:start position:0%
algorithms you see traditionally
 

00:03:23.400 --> 00:03:25.860 align:start position:0%
algorithms you see traditionally
algorithms<00:03:24.400><c> are</c><00:03:24.610><c> designed</c><00:03:24.850><c> by</c><00:03:25.480><c> software</c>

00:03:25.860 --> 00:03:25.870 align:start position:0%
algorithms are designed by software
 

00:03:25.870 --> 00:03:29.340 align:start position:0%
algorithms are designed by software
engineers<00:03:26.790><c> now</c><00:03:27.790><c> you</c><00:03:28.360><c> might</c><00:03:28.540><c> be</c><00:03:28.570><c> asking</c><00:03:28.810><c> what's</c>

00:03:29.340 --> 00:03:29.350 align:start position:0%
engineers now you might be asking what's
 

00:03:29.350 --> 00:03:31.979 align:start position:0%
engineers now you might be asking what's
wrong<00:03:29.620><c> with</c><00:03:29.770><c> that</c><00:03:29.830><c> well</c><00:03:30.510><c> would</c><00:03:31.510><c> you</c><00:03:31.630><c> want</c><00:03:31.870><c> your</c>

00:03:31.979 --> 00:03:31.989 align:start position:0%
wrong with that well would you want your
 

00:03:31.989 --> 00:03:34.160 align:start position:0%
wrong with that well would you want your
hardware<00:03:32.410><c> designed</c><00:03:32.830><c> by</c><00:03:33.070><c> a</c><00:03:33.100><c> software</c><00:03:33.610><c> engineer</c>

00:03:34.160 --> 00:03:34.170 align:start position:0%
hardware designed by a software engineer
 

00:03:34.170 --> 00:03:37.620 align:start position:0%
hardware designed by a software engineer
the<00:03:35.170><c> answer</c><00:03:35.500><c> is</c><00:03:35.650><c> no</c><00:03:35.980><c> because</c><00:03:36.420><c> that's</c><00:03:37.420><c> actually</c>

00:03:37.620 --> 00:03:37.630 align:start position:0%
the answer is no because that's actually
 

00:03:37.630 --> 00:03:40.160 align:start position:0%
the answer is no because that's actually
how<00:03:37.989><c> you</c><00:03:38.050><c> end</c><00:03:38.320><c> up</c><00:03:38.500><c> with</c><00:03:38.770><c> things</c><00:03:39.160><c> like</c><00:03:39.459><c> these</c>

00:03:40.160 --> 00:03:40.170 align:start position:0%
how you end up with things like these
 

00:03:40.170 --> 00:03:45.870 align:start position:0%
how you end up with things like these
the<00:03:41.170><c> windows</c><00:03:41.500><c> phone</c><00:03:43.230><c> so</c><00:03:44.230><c> we</c><00:03:44.980><c> we</c><00:03:45.340><c> always</c><00:03:45.670><c> talk</c>

00:03:45.870 --> 00:03:45.880 align:start position:0%
the windows phone so we we always talk
 

00:03:45.880 --> 00:03:48.000 align:start position:0%
the windows phone so we we always talk
about<00:03:46.150><c> how</c><00:03:46.390><c> you</c><00:03:46.450><c> need</c><00:03:46.959><c> to</c><00:03:47.019><c> have</c><00:03:47.410><c> people</c><00:03:47.890><c> who</c>

00:03:48.000 --> 00:03:48.010 align:start position:0%
about how you need to have people who
 

00:03:48.010 --> 00:03:49.830 align:start position:0%
about how you need to have people who
are<00:03:48.130><c> experts</c><00:03:48.700><c> left</c><00:03:49.060><c> to</c><00:03:49.180><c> do</c><00:03:49.330><c> the</c><00:03:49.510><c> things</c><00:03:49.720><c> that</c>

00:03:49.830 --> 00:03:49.840 align:start position:0%
are experts left to do the things that
 

00:03:49.840 --> 00:03:51.630 align:start position:0%
are experts left to do the things that
they're<00:03:50.050><c> an</c><00:03:50.140><c> expert</c><00:03:50.380><c> in</c><00:03:50.650><c> how</c><00:03:51.430><c> do</c><00:03:51.489><c> our</c>

00:03:51.630 --> 00:03:51.640 align:start position:0%
they're an expert in how do our
 

00:03:51.640 --> 00:03:54.270 align:start position:0%
they're an expert in how do our
engineers<00:03:52.150><c> so</c><00:03:53.050><c> it</c><00:03:53.110><c> should</c><00:03:53.470><c> tune</c><00:03:53.739><c> for</c><00:03:53.950><c> hardware</c>

00:03:54.270 --> 00:03:54.280 align:start position:0%
engineers so it should tune for hardware
 

00:03:54.280 --> 00:03:56.990 align:start position:0%
engineers so it should tune for hardware
soft<00:03:54.910><c> engine</c><00:03:55.209><c> software</c><00:03:55.540><c> engineers</c><00:03:56.230><c> should</c>

00:03:56.990 --> 00:03:57.000 align:start position:0%
soft engine software engineers should
 

00:03:57.000 --> 00:04:00.360 align:start position:0%
soft engine software engineers should
tune<00:03:58.000><c> for</c><00:03:58.209><c> application</c><00:03:58.780><c> layers</c><00:03:59.100><c> that's</c><00:04:00.100><c> the</c>

00:04:00.360 --> 00:04:00.370 align:start position:0%
tune for application layers that's the
 

00:04:00.370 --> 00:04:02.580 align:start position:0%
tune for application layers that's the
crux<00:04:00.640><c> of</c><00:04:00.820><c> the</c><00:04:00.880><c> problem</c><00:04:00.970><c> today</c><00:04:01.480><c> and</c><00:04:01.840><c> how</c><00:04:02.260><c> we</c><00:04:02.320><c> get</c>

00:04:02.580 --> 00:04:02.590 align:start position:0%
crux of the problem today and how we get
 

00:04:02.590 --> 00:04:04.979 align:start position:0%
crux of the problem today and how we get
fixed<00:04:03.010><c> function</c><00:04:03.190><c> hardware</c><00:04:03.760><c> or</c><00:04:03.940><c> in</c><00:04:04.300><c> this</c><00:04:04.420><c> case</c>

00:04:04.979 --> 00:04:04.989 align:start position:0%
fixed function hardware or in this case
 

00:04:04.989 --> 00:04:08.310 align:start position:0%
fixed function hardware or in this case
Asics<00:04:05.680><c> and</c><00:04:06.930><c> proof-of-work</c><00:04:07.930><c> has</c>

00:04:08.310 --> 00:04:08.320 align:start position:0%
Asics and proof-of-work has
 

00:04:08.320 --> 00:04:11.370 align:start position:0%
Asics and proof-of-work has
traditionally<00:04:08.860><c> taken</c><00:04:09.160><c> an</c><00:04:09.400><c> algorithm</c><00:04:10.380><c> that's</c>

00:04:11.370 --> 00:04:11.380 align:start position:0%
traditionally taken an algorithm that's
 

00:04:11.380 --> 00:04:13.440 align:start position:0%
traditionally taken an algorithm that's
fixed<00:04:11.950><c> and</c><00:04:12.100><c> tried</c><00:04:12.430><c> to</c><00:04:12.610><c> shoehorn</c><00:04:12.880><c> in</c><00:04:13.330><c> the</c>

00:04:13.440 --> 00:04:13.450 align:start position:0%
fixed and tried to shoehorn in the
 

00:04:13.450 --> 00:04:14.820 align:start position:0%
fixed and tried to shoehorn in the
hardware<00:04:13.840><c> to</c><00:04:14.050><c> make</c><00:04:14.200><c> it</c><00:04:14.320><c> efficient</c><00:04:14.739><c> at</c>

00:04:14.820 --> 00:04:14.830 align:start position:0%
hardware to make it efficient at
 

00:04:14.830 --> 00:04:17.670 align:start position:0%
hardware to make it efficient at
executing<00:04:15.489><c> it</c><00:04:15.610><c> but</c><00:04:16.359><c> that</c><00:04:16.480><c> leaves</c><00:04:16.690><c> many</c><00:04:17.080><c> unused</c>

00:04:17.670 --> 00:04:17.680 align:start position:0%
executing it but that leaves many unused
 

00:04:17.680 --> 00:04:19.529 align:start position:0%
executing it but that leaves many unused
parts<00:04:18.220><c> of</c><00:04:18.430><c> the</c><00:04:18.549><c> hardware</c><00:04:18.940><c> that</c><00:04:19.090><c> you</c><00:04:19.209><c> can</c><00:04:19.359><c> just</c>

00:04:19.529 --> 00:04:19.539 align:start position:0%
parts of the hardware that you can just
 

00:04:19.539 --> 00:04:23.219 align:start position:0%
parts of the hardware that you can just
shave<00:04:19.780><c> off</c><00:04:20.220><c> or</c><00:04:21.220><c> you</c><00:04:21.370><c> can</c><00:04:21.549><c> get</c><00:04:21.700><c> rid</c><00:04:21.880><c> of</c><00:04:22.229><c> instead</c>

00:04:23.219 --> 00:04:23.229 align:start position:0%
shave off or you can get rid of instead
 

00:04:23.229 --> 00:04:26.510 align:start position:0%
shave off or you can get rid of instead
Pro<00:04:23.770><c> pal</c><00:04:24.010><c> flips</c><00:04:24.550><c> this</c><00:04:24.700><c> paradigm</c>

00:04:26.510 --> 00:04:26.520 align:start position:0%
Pro pal flips this paradigm
 

00:04:26.520 --> 00:04:29.790 align:start position:0%
Pro pal flips this paradigm
we<00:04:27.520><c> take</c><00:04:27.789><c> the</c><00:04:28.090><c> hardware</c><00:04:28.800><c> already-existing</c>

00:04:29.790 --> 00:04:29.800 align:start position:0%
we take the hardware already-existing
 

00:04:29.800 --> 00:04:32.040 align:start position:0%
we take the hardware already-existing
and<00:04:30.340><c> we</c><00:04:30.430><c> modify</c><00:04:30.849><c> an</c><00:04:30.970><c> algorithm</c><00:04:31.509><c> to</c><00:04:31.539><c> match</c><00:04:31.810><c> it</c>

00:04:32.040 --> 00:04:32.050 align:start position:0%
and we modify an algorithm to match it
 

00:04:32.050 --> 00:04:34.409 align:start position:0%
and we modify an algorithm to match it
because<00:04:32.919><c> an</c><00:04:33.039><c> efficient</c><00:04:33.490><c> algorithm</c><00:04:34.060><c> for</c><00:04:34.090><c> proof</c>

00:04:34.409 --> 00:04:34.419 align:start position:0%
because an efficient algorithm for proof
 

00:04:34.419 --> 00:04:36.900 align:start position:0%
because an efficient algorithm for proof
of<00:04:34.539><c> work</c><00:04:34.720><c> means</c><00:04:35.410><c> hardware</c><00:04:35.919><c> needs</c><00:04:36.250><c> to</c><00:04:36.460><c> match</c><00:04:36.639><c> s</c>

00:04:36.900 --> 00:04:36.910 align:start position:0%
of work means hardware needs to match s
 

00:04:36.910 --> 00:04:38.939 align:start position:0%
of work means hardware needs to match s
match<00:04:37.389><c> access</c><00:04:37.960><c> patterns</c><00:04:38.380><c> and</c><00:04:38.560><c> available</c>

00:04:38.939 --> 00:04:38.949 align:start position:0%
match access patterns and available
 

00:04:38.949 --> 00:04:42.930 align:start position:0%
match access patterns and available
space<00:04:39.220><c> of</c><00:04:39.400><c> that</c><00:04:39.520><c> hardware</c><00:04:40.620><c> now</c><00:04:41.620><c> I</c><00:04:41.979><c> know</c><00:04:42.580><c> what</c>

00:04:42.930 --> 00:04:42.940 align:start position:0%
space of that hardware now I know what
 

00:04:42.940 --> 00:04:44.909 align:start position:0%
space of that hardware now I know what
everyone<00:04:43.539><c> right</c><00:04:43.780><c> now</c><00:04:43.960><c> is</c><00:04:44.229><c> waiting</c><00:04:44.470><c> for</c><00:04:44.710><c> me</c><00:04:44.800><c> to</c>

00:04:44.909 --> 00:04:44.919 align:start position:0%
everyone right now is waiting for me to
 

00:04:44.919 --> 00:04:47.159 align:start position:0%
everyone right now is waiting for me to
say<00:04:45.130><c> given</c><00:04:45.639><c> how</c><00:04:45.759><c> vocal</c><00:04:46.330><c> I</c><00:04:46.419><c> am</c><00:04:46.569><c> about</c><00:04:46.780><c> ASIC</c>

00:04:47.159 --> 00:04:47.169 align:start position:0%
say given how vocal I am about ASIC
 

00:04:47.169 --> 00:04:51.620 align:start position:0%
say given how vocal I am about ASIC
resistance<00:04:48.090><c> but</c><00:04:49.090><c> I</c><00:04:49.720><c> hate</c><00:04:50.139><c> to</c><00:04:50.289><c> say</c><00:04:50.470><c> it</c>

00:04:51.620 --> 00:04:51.630 align:start position:0%
resistance but I hate to say it
 

00:04:51.630 --> 00:04:54.540 align:start position:0%
resistance but I hate to say it
ASIC<00:04:52.630><c> resistance</c><00:04:53.139><c> is</c><00:04:53.259><c> a</c><00:04:53.289><c> fallacy</c><00:04:53.680><c> there's</c><00:04:54.370><c> no</c>

00:04:54.540 --> 00:04:54.550 align:start position:0%
ASIC resistance is a fallacy there's no
 

00:04:54.550 --> 00:04:57.930 align:start position:0%
ASIC resistance is a fallacy there's no
such<00:04:54.819><c> thing</c><00:04:55.770><c> C</c><00:04:56.770><c> prog</c><00:04:57.039><c> how</c><00:04:57.220><c> is</c><00:04:57.400><c> mistakenly</c>

00:04:57.930 --> 00:04:57.940 align:start position:0%
such thing C prog how is mistakenly
 

00:04:57.940 --> 00:05:00.270 align:start position:0%
such thing C prog how is mistakenly
trumpeted<00:04:58.479><c> as</c><00:04:58.599><c> an</c><00:04:58.840><c> ASIC</c><00:04:59.199><c> resistant</c><00:04:59.710><c> algorithm</c>

00:05:00.270 --> 00:05:00.280 align:start position:0%
trumpeted as an ASIC resistant algorithm
 

00:05:00.280 --> 00:05:03.140 align:start position:0%
trumpeted as an ASIC resistant algorithm
but<00:05:00.849><c> quite</c><00:05:01.569><c> frankly</c><00:05:01.599><c> that's</c>

00:05:03.140 --> 00:05:03.150 align:start position:0%
but quite frankly that's
 

00:05:03.150 --> 00:05:06.480 align:start position:0%
but quite frankly that's
proof<00:05:04.150><c> of</c><00:05:04.300><c> work</c><00:05:04.539><c> requires</c><00:05:05.199><c> some</c><00:05:05.949><c> form</c><00:05:06.250><c> of</c><00:05:06.400><c> an</c>

00:05:06.480 --> 00:05:06.490 align:start position:0%
proof of work requires some form of an
 

00:05:06.490 --> 00:05:10.439 align:start position:0%
proof of work requires some form of an
ASIC<00:05:06.909><c> to</c><00:05:07.030><c> do</c><00:05:07.240><c> work</c><00:05:07.770><c> be</c><00:05:08.770><c> it</c><00:05:08.860><c> be</c><00:05:09.400><c> it</c><00:05:09.490><c> a</c><00:05:09.580><c> CPU</c><00:05:10.060><c> a</c><00:05:10.300><c> GPU</c>

00:05:10.439 --> 00:05:10.449 align:start position:0%
ASIC to do work be it be it a CPU a GPU
 

00:05:10.449 --> 00:05:14.360 align:start position:0%
ASIC to do work be it be it a CPU a GPU
and<00:05:11.169><c> FPGA</c><00:05:11.710><c> or</c><00:05:11.830><c> mining</c><00:05:12.520><c> ASIC</c><00:05:12.880><c> and</c><00:05:13.120><c> guess</c><00:05:13.900><c> what</c>

00:05:14.360 --> 00:05:14.370 align:start position:0%
and FPGA or mining ASIC and guess what
 

00:05:14.370 --> 00:05:20.100 align:start position:0%
and FPGA or mining ASIC and guess what
oops<00:05:17.039><c> they're</c><00:05:18.039><c> all</c><00:05:18.190><c> Asics</c><00:05:18.720><c> they're</c><00:05:19.720><c> all</c><00:05:19.840><c> built</c>

00:05:20.100 --> 00:05:20.110 align:start position:0%
oops they're all Asics they're all built
 

00:05:20.110 --> 00:05:23.070 align:start position:0%
oops they're all Asics they're all built
using<00:05:20.560><c> the</c><00:05:20.860><c> exact</c><00:05:21.220><c> same</c><00:05:21.250><c> fabs</c><00:05:21.729><c> the</c><00:05:22.569><c> exact</c><00:05:22.900><c> same</c>

00:05:23.070 --> 00:05:23.080 align:start position:0%
using the exact same fabs the exact same
 

00:05:23.080 --> 00:05:25.230 align:start position:0%
using the exact same fabs the exact same
technologies<00:05:23.770><c> the</c><00:05:24.190><c> exact</c><00:05:24.490><c> same</c><00:05:24.699><c> materials</c>

00:05:25.230 --> 00:05:25.240 align:start position:0%
technologies the exact same materials
 

00:05:25.240 --> 00:05:28.170 align:start position:0%
technologies the exact same materials
the<00:05:26.169><c> difference</c><00:05:26.560><c> however</c><00:05:26.770><c> in</c><00:05:27.280><c> the</c><00:05:27.699><c> in</c><00:05:27.940><c> this</c>

00:05:28.170 --> 00:05:28.180 align:start position:0%
the difference however in the in this
 

00:05:28.180 --> 00:05:30.629 align:start position:0%
the difference however in the in this
hardware<00:05:28.630><c> is</c><00:05:28.780><c> the</c><00:05:29.169><c> class</c><00:05:29.620><c> of</c><00:05:29.860><c> algorithms</c>

00:05:30.629 --> 00:05:30.639 align:start position:0%
hardware is the class of algorithms
 

00:05:30.639 --> 00:05:32.610 align:start position:0%
hardware is the class of algorithms
they're<00:05:30.849><c> designed</c><00:05:31.120><c> to</c><00:05:31.479><c> execute</c><00:05:32.320><c> efficiently</c>

00:05:32.610 --> 00:05:32.620 align:start position:0%
they're designed to execute efficiently
 

00:05:32.620 --> 00:05:35.070 align:start position:0%
they're designed to execute efficiently
and<00:05:33.099><c> that</c><00:05:33.280><c> they're</c><00:05:33.430><c> optimized</c><00:05:33.909><c> for</c><00:05:34.180><c> so</c>

00:05:35.070 --> 00:05:35.080 align:start position:0%
and that they're optimized for so
 

00:05:35.080 --> 00:05:36.930 align:start position:0%
and that they're optimized for so
generally<00:05:35.500><c> when</c><00:05:35.620><c> people</c><00:05:35.680><c> say</c><00:05:36.190><c> when</c><00:05:36.639><c> they</c><00:05:36.759><c> say</c>

00:05:36.930 --> 00:05:36.940 align:start position:0%
generally when people say when they say
 

00:05:36.940 --> 00:05:38.640 align:start position:0%
generally when people say when they say
ASIC<00:05:37.300><c> resistance</c><00:05:37.810><c> what</c><00:05:38.050><c> their</c><00:05:38.229><c> meaning</c><00:05:38.530><c> is</c>

00:05:38.640 --> 00:05:38.650 align:start position:0%
ASIC resistance what their meaning is
 

00:05:38.650 --> 00:05:41.129 align:start position:0%
ASIC resistance what their meaning is
centralization<00:05:39.490><c> resistance</c><00:05:40.060><c> and</c><00:05:40.599><c> we</c><00:05:40.990><c> can</c>

00:05:41.129 --> 00:05:41.139 align:start position:0%
centralization resistance and we can
 

00:05:41.139 --> 00:05:43.649 align:start position:0%
centralization resistance and we can
dive<00:05:41.349><c> into</c><00:05:41.620><c> why</c><00:05:41.949><c> that's</c><00:05:42.190><c> important</c><00:05:42.820><c> in</c><00:05:43.509><c> the</c>

00:05:43.649 --> 00:05:43.659 align:start position:0%
dive into why that's important in the
 

00:05:43.659 --> 00:05:47.249 align:start position:0%
dive into why that's important in the
breakout<00:05:44.020><c> session</c><00:05:44.500><c> but</c><00:05:46.020><c> there's</c><00:05:47.020><c> my</c>

00:05:47.249 --> 00:05:47.259 align:start position:0%
breakout session but there's my
 

00:05:47.259 --> 00:05:48.870 align:start position:0%
breakout session but there's my
statement<00:05:47.740><c> on</c><00:05:47.770><c> ASIC</c><00:05:48.159><c> resistance</c>

00:05:48.870 --> 00:05:48.880 align:start position:0%
statement on ASIC resistance
 

00:05:48.880 --> 00:05:53.399 align:start position:0%
statement on ASIC resistance
it<00:05:49.090><c> doesn't</c><00:05:49.539><c> actually</c><00:05:49.630><c> exist</c><00:05:51.389><c> so</c><00:05:52.389><c> why</c><00:05:53.199><c> does</c>

00:05:53.399 --> 00:05:53.409 align:start position:0%
it doesn't actually exist so why does
 

00:05:53.409 --> 00:05:55.379 align:start position:0%
it doesn't actually exist so why does
hardware<00:05:53.860><c> actually</c><00:05:54.099><c> matter</c><00:05:54.580><c> why</c><00:05:55.000><c> do</c><00:05:55.060><c> we</c><00:05:55.210><c> care</c>

00:05:55.379 --> 00:05:55.389 align:start position:0%
hardware actually matter why do we care
 

00:05:55.389 --> 00:05:59.100 align:start position:0%
hardware actually matter why do we care
about<00:05:55.449><c> hardware</c><00:05:56.050><c> with</c><00:05:56.229><c> aetherium</c><00:05:56.919><c> well</c><00:05:58.110><c> for</c>

00:05:59.100 --> 00:05:59.110 align:start position:0%
about hardware with aetherium well for
 

00:05:59.110 --> 00:06:01.050 align:start position:0%
about hardware with aetherium well for
the<00:05:59.199><c> time</c><00:05:59.380><c> being</c><00:05:59.680><c> hardware</c><00:06:00.310><c> actually</c><00:06:00.490><c> defines</c>

00:06:01.050 --> 00:06:01.060 align:start position:0%
the time being hardware actually defines
 

00:06:01.060 --> 00:06:04.409 align:start position:0%
the time being hardware actually defines
your<00:06:01.240><c> user</c><00:06:01.479><c> base</c><00:06:02.280><c> and</c><00:06:03.280><c> note</c><00:06:03.729><c> blockchain</c><00:06:04.300><c> is</c>

00:06:04.409 --> 00:06:04.419 align:start position:0%
your user base and note blockchain is
 

00:06:04.419 --> 00:06:07.320 align:start position:0%
your user base and note blockchain is
suited<00:06:04.900><c> for</c><00:06:04.930><c> all</c><00:06:05.169><c> user</c><00:06:05.590><c> bases</c><00:06:06.069><c> just</c><00:06:06.940><c> like</c><00:06:07.150><c> no</c>

00:06:07.320 --> 00:06:07.330 align:start position:0%
suited for all user bases just like no
 

00:06:07.330 --> 00:06:10.279 align:start position:0%
suited for all user bases just like no
application<00:06:07.930><c> is</c><00:06:08.050><c> suited</c><00:06:08.380><c> for</c><00:06:08.500><c> all</c><00:06:08.560><c> customers</c>

00:06:10.279 --> 00:06:10.289 align:start position:0%
application is suited for all customers
 

00:06:10.289 --> 00:06:13.980 align:start position:0%
application is suited for all customers
GPUs<00:06:11.460><c> therefore</c><00:06:12.460><c> the</c><00:06:12.520><c> common</c><00:06:12.819><c> folk</c><00:06:13.000><c> you</c><00:06:13.870><c> know</c>

00:06:13.980 --> 00:06:13.990 align:start position:0%
GPUs therefore the common folk you know
 

00:06:13.990 --> 00:06:15.719 align:start position:0%
GPUs therefore the common folk you know
they're<00:06:14.440><c> readily</c><00:06:14.740><c> available</c><00:06:14.830><c> they're</c>

00:06:15.719 --> 00:06:15.729 align:start position:0%
they're readily available they're
 

00:06:15.729 --> 00:06:17.850 align:start position:0%
they're readily available they're
flexible<00:06:16.150><c> they're</c><00:06:16.630><c> adaptable</c><00:06:17.080><c> they're</c><00:06:17.650><c> quite</c>

00:06:17.850 --> 00:06:17.860 align:start position:0%
flexible they're adaptable they're quite
 

00:06:17.860 --> 00:06:20.909 align:start position:0%
flexible they're adaptable they're quite
cheap<00:06:18.159><c> and</c><00:06:18.430><c> pretty</c><00:06:19.090><c> much</c><00:06:19.349><c> everyone</c><00:06:20.349><c> has</c><00:06:20.590><c> one</c>

00:06:20.909 --> 00:06:20.919 align:start position:0%
cheap and pretty much everyone has one
 

00:06:20.919 --> 00:06:23.399 align:start position:0%
cheap and pretty much everyone has one
today<00:06:21.370><c> look</c><00:06:22.180><c> at</c><00:06:22.270><c> your</c><00:06:22.389><c> phones</c><00:06:22.630><c> you</c><00:06:23.110><c> will</c><00:06:23.229><c> have</c>

00:06:23.399 --> 00:06:23.409 align:start position:0%
today look at your phones you will have
 

00:06:23.409 --> 00:06:25.680 align:start position:0%
today look at your phones you will have
a<00:06:23.440><c> GPU</c><00:06:23.800><c> in</c><00:06:24.009><c> there</c><00:06:24.190><c> every</c><00:06:24.909><c> single</c><00:06:25.210><c> laptop</c><00:06:25.389><c> you</c>

00:06:25.680 --> 00:06:25.690 align:start position:0%
a GPU in there every single laptop you
 

00:06:25.690 --> 00:06:28.860 align:start position:0%
a GPU in there every single laptop you
have<00:06:25.900><c> has</c><00:06:26.440><c> a</c><00:06:26.469><c> GPU</c><00:06:27.000><c> every</c><00:06:28.000><c> console</c><00:06:28.419><c> app</c><00:06:28.599><c> video</c>

00:06:28.860 --> 00:06:28.870 align:start position:0%
have has a GPU every console app video
 

00:06:28.870 --> 00:06:33.149 align:start position:0%
have has a GPU every console app video
game<00:06:29.199><c> console</c><00:06:29.620><c> out</c><00:06:29.710><c> there</c><00:06:29.889><c> has</c><00:06:30.130><c> a</c><00:06:30.159><c> GPU</c><00:06:32.009><c> FPGA</c><00:06:33.009><c> is</c>

00:06:33.149 --> 00:06:33.159 align:start position:0%
game console out there has a GPU FPGA is
 

00:06:33.159 --> 00:06:36.300 align:start position:0%
game console out there has a GPU FPGA is
there<00:06:33.789><c> for</c><00:06:34.000><c> enthusiasts</c><00:06:35.130><c> really</c><00:06:36.130><c> rich</c>

00:06:36.300 --> 00:06:36.310 align:start position:0%
there for enthusiasts really rich
 

00:06:36.310 --> 00:06:38.970 align:start position:0%
there for enthusiasts really rich
enthusiasts<00:06:37.120><c> they're</c><00:06:37.900><c> high</c><00:06:38.110><c> cost</c>

00:06:38.970 --> 00:06:38.980 align:start position:0%
enthusiasts they're high cost
 

00:06:38.980 --> 00:06:41.670 align:start position:0%
enthusiasts they're high cost
my<00:06:39.070><c> expertise</c><00:06:39.670><c> they</c><00:06:40.210><c> run</c><00:06:40.420><c> hot</c><00:06:40.660><c> the</c><00:06:41.320><c> definitely</c>

00:06:41.670 --> 00:06:41.680 align:start position:0%
my expertise they run hot the definitely
 

00:06:41.680 --> 00:06:43.860 align:start position:0%
my expertise they run hot the definitely
not<00:06:41.890><c> plug</c><00:06:42.100><c> and</c><00:06:42.250><c> play</c><00:06:42.430><c> and</c><00:06:42.700><c> I</c><00:06:43.270><c> should</c><00:06:43.480><c> know</c><00:06:43.660><c> the</c>

00:06:43.860 --> 00:06:43.870 align:start position:0%
not plug and play and I should know the
 

00:06:43.870 --> 00:06:45.930 align:start position:0%
not plug and play and I should know the
minority<00:06:44.320><c> group</c><00:06:44.500><c> hosts</c><00:06:44.890><c> around</c><00:06:45.040><c> 5,000</c><00:06:45.880><c> of</c>

00:06:45.930 --> 00:06:45.940 align:start position:0%
minority group hosts around 5,000 of
 

00:06:45.940 --> 00:06:46.590 align:start position:0%
minority group hosts around 5,000 of
these<00:06:46.060><c> things</c>

00:06:46.590 --> 00:06:46.600 align:start position:0%
these things
 

00:06:46.600 --> 00:06:51.000 align:start position:0%
these things
so<00:06:47.220><c> and</c><00:06:48.220><c> then</c><00:06:49.150><c> we</c><00:06:49.240><c> whoops</c><00:06:49.660><c> and</c><00:06:50.440><c> then</c><00:06:50.650><c> we</c><00:06:50.800><c> have</c>

00:06:51.000 --> 00:06:51.010 align:start position:0%
so and then we whoops and then we have
 

00:06:51.010 --> 00:06:54.480 align:start position:0%
so and then we whoops and then we have
of<00:06:51.520><c> course</c><00:06:51.690><c> Asics</c><00:06:52.690><c> these</c><00:06:52.960><c> are</c><00:06:53.740><c> really</c><00:06:54.220><c> for</c>

00:06:54.480 --> 00:06:54.490 align:start position:0%
of course Asics these are really for
 

00:06:54.490 --> 00:06:57.030 align:start position:0%
of course Asics these are really for
enterprise<00:06:55.090><c> minors</c><00:06:55.600><c> so</c><00:06:56.470><c> they're</c><00:06:56.590><c> relatively</c>

00:06:57.030 --> 00:06:57.040 align:start position:0%
enterprise minors so they're relatively
 

00:06:57.040 --> 00:06:58.800 align:start position:0%
enterprise minors so they're relatively
simple<00:06:57.580><c> they're</c><00:06:57.850><c> plug-and-play</c><00:06:58.150><c> they're</c>

00:06:58.800 --> 00:06:58.810 align:start position:0%
simple they're plug-and-play they're
 

00:06:58.810 --> 00:07:01.260 align:start position:0%
simple they're plug-and-play they're
consumable<00:06:59.470><c> goods</c><00:06:59.500><c> and</c><00:07:00.040><c> they</c><00:07:00.760><c> kind</c><00:07:01.000><c> of</c><00:07:01.090><c> have</c>

00:07:01.260 --> 00:07:01.270 align:start position:0%
consumable goods and they kind of have
 

00:07:01.270 --> 00:07:03.570 align:start position:0%
consumable goods and they kind of have
short<00:07:01.600><c> lifespans</c><00:07:02.170><c> and</c><00:07:02.530><c> they</c><00:07:02.980><c> generate</c><00:07:03.310><c> a</c><00:07:03.370><c> lot</c>

00:07:03.570 --> 00:07:03.580 align:start position:0%
short lifespans and they generate a lot
 

00:07:03.580 --> 00:07:06.150 align:start position:0%
short lifespans and they generate a lot
of<00:07:03.610><c> heat</c><00:07:03.910><c> and</c><00:07:04.180><c> consume</c><00:07:04.810><c> a</c><00:07:04.870><c> lot</c><00:07:05.020><c> of</c><00:07:05.050><c> power</c><00:07:05.320><c> but</c>

00:07:06.150 --> 00:07:06.160 align:start position:0%
of heat and consume a lot of power but
 

00:07:06.160 --> 00:07:08.010 align:start position:0%
of heat and consume a lot of power but
the<00:07:06.310><c> density</c><00:07:06.820><c> of</c><00:07:06.850><c> an</c><00:07:07.000><c> ASIC</c><00:07:07.390><c> lends</c><00:07:07.660><c> itself</c>

00:07:08.010 --> 00:07:08.020 align:start position:0%
the density of an ASIC lends itself
 

00:07:08.020 --> 00:07:13.110 align:start position:0%
the density of an ASIC lends itself
really<00:07:08.320><c> well</c><00:07:08.650><c> to</c><00:07:08.910><c> professional</c><00:07:09.910><c> farms</c><00:07:12.120><c> so</c>

00:07:13.110 --> 00:07:13.120 align:start position:0%
really well to professional farms so
 

00:07:13.120 --> 00:07:15.360 align:start position:0%
really well to professional farms so
what<00:07:13.330><c> user</c><00:07:13.630><c> base</c><00:07:13.870><c> do</c><00:07:14.200><c> we</c><00:07:14.320><c> actually</c><00:07:14.500><c> want</c><00:07:14.950><c> for</c>

00:07:15.360 --> 00:07:15.370 align:start position:0%
what user base do we actually want for
 

00:07:15.370 --> 00:07:19.170 align:start position:0%
what user base do we actually want for
aetherium<00:07:16.980><c> well</c><00:07:17.980><c> if</c><00:07:18.460><c> aetherium</c><00:07:19.000><c> is</c><00:07:19.150><c> a</c>

00:07:19.170 --> 00:07:19.180 align:start position:0%
aetherium well if aetherium is a
 

00:07:19.180 --> 00:07:21.150 align:start position:0%
aetherium well if aetherium is a
decentralized<00:07:19.930><c> application</c><00:07:20.620><c> blockchain</c>

00:07:21.150 --> 00:07:21.160 align:start position:0%
decentralized application blockchain
 

00:07:21.160 --> 00:07:23.070 align:start position:0%
decentralized application blockchain
that<00:07:21.910><c> means</c><00:07:22.150><c> we</c><00:07:22.330><c> kind</c><00:07:22.570><c> of</c><00:07:22.690><c> want</c><00:07:22.840><c> as</c><00:07:22.930><c> many</c>

00:07:23.070 --> 00:07:23.080 align:start position:0%
that means we kind of want as many
 

00:07:23.080 --> 00:07:24.990 align:start position:0%
that means we kind of want as many
participants<00:07:23.620><c> and</c><00:07:24.190><c> as</c><00:07:24.280><c> many</c><00:07:24.460><c> players</c><00:07:24.730><c> as</c>

00:07:24.990 --> 00:07:25.000 align:start position:0%
participants and as many players as
 

00:07:25.000 --> 00:07:28.620 align:start position:0%
participants and as many players as
possible<00:07:26.640><c> application</c><00:07:27.640><c> user</c><00:07:27.880><c> basis</c><00:07:28.390><c> usually</c>

00:07:28.620 --> 00:07:28.630 align:start position:0%
possible application user basis usually
 

00:07:28.630 --> 00:07:30.600 align:start position:0%
possible application user basis usually
need<00:07:29.140><c> to</c><00:07:29.380><c> be</c><00:07:29.500><c> as</c><00:07:29.650><c> decentralized</c><00:07:30.400><c> and</c>

00:07:30.600 --> 00:07:30.610 align:start position:0%
need to be as decentralized and
 

00:07:30.610 --> 00:07:32.490 align:start position:0%
need to be as decentralized and
distributed<00:07:30.640><c> as</c><00:07:31.420><c> possible</c><00:07:31.930><c> to</c><00:07:32.200><c> prevent</c>

00:07:32.490 --> 00:07:32.500 align:start position:0%
distributed as possible to prevent
 

00:07:32.500 --> 00:07:35.220 align:start position:0%
distributed as possible to prevent
malicious<00:07:33.070><c> actors</c><00:07:33.490><c> and</c><00:07:33.880><c> if</c><00:07:34.870><c> you</c><00:07:34.960><c> want</c><00:07:35.140><c> an</c>

00:07:35.220 --> 00:07:35.230 align:start position:0%
malicious actors and if you want an
 

00:07:35.230 --> 00:07:36.840 align:start position:0%
malicious actors and if you want an
enterprise-level<00:07:35.680><c> blockchain</c><00:07:36.580><c> you</c><00:07:36.700><c> also</c>

00:07:36.840 --> 00:07:36.850 align:start position:0%
enterprise-level blockchain you also
 

00:07:36.850 --> 00:07:38.460 align:start position:0%
enterprise-level blockchain you also
want<00:07:37.150><c> to</c><00:07:37.180><c> make</c><00:07:37.330><c> sure</c><00:07:37.360><c> as</c><00:07:37.630><c> many</c><00:07:37.810><c> participants</c>

00:07:38.460 --> 00:07:38.470 align:start position:0%
want to make sure as many participants
 

00:07:38.470 --> 00:07:41.340 align:start position:0%
want to make sure as many participants
as<00:07:38.860><c> possible</c><00:07:39.370><c> are</c><00:07:40.000><c> active</c><00:07:40.480><c> to</c><00:07:40.900><c> ensure</c><00:07:41.200><c> your</c>

00:07:41.340 --> 00:07:41.350 align:start position:0%
as possible are active to ensure your
 

00:07:41.350 --> 00:07:44.610 align:start position:0%
as possible are active to ensure your
application<00:07:41.490><c> your</c><00:07:42.490><c> code</c><00:07:42.790><c> is</c><00:07:43.350><c> executed</c><00:07:44.350><c> on</c><00:07:44.470><c> as</c>

00:07:44.610 --> 00:07:44.620 align:start position:0%
application your code is executed on as
 

00:07:44.620 --> 00:07:48.480 align:start position:0%
application your code is executed on as
many<00:07:44.860><c> diverse</c><00:07:45.100><c> nodes</c><00:07:45.610><c> as</c><00:07:45.760><c> possible</c><00:07:45.820><c> a</c><00:07:47.490><c> GPU</c>

00:07:48.480 --> 00:07:48.490 align:start position:0%
many diverse nodes as possible a GPU
 

00:07:48.490 --> 00:07:51.720 align:start position:0%
many diverse nodes as possible a GPU
card<00:07:48.820><c> is</c><00:07:49.000><c> naturally</c><00:07:49.470><c> decentralized</c><00:07:50.730><c> there's</c>

00:07:51.720 --> 00:07:51.730 align:start position:0%
card is naturally decentralized there's
 

00:07:51.730 --> 00:07:53.850 align:start position:0%
card is naturally decentralized there's
widespread<00:07:52.000><c> adoption</c><00:07:52.390><c> it's</c><00:07:53.170><c> in</c><00:07:53.320><c> every</c><00:07:53.560><c> device</c>

00:07:53.850 --> 00:07:53.860 align:start position:0%
widespread adoption it's in every device
 

00:07:53.860 --> 00:07:56.340 align:start position:0%
widespread adoption it's in every device
and<00:07:54.250><c> you</c><00:07:54.700><c> have</c><00:07:54.880><c> multiple</c><00:07:55.360><c> manufacturers</c><00:07:56.050><c> and</c>

00:07:56.340 --> 00:07:56.350 align:start position:0%
and you have multiple manufacturers and
 

00:07:56.350 --> 00:07:58.710 align:start position:0%
and you have multiple manufacturers and
a<00:07:56.410><c> healthy</c><00:07:56.710><c> ecosystem</c><00:07:57.330><c> outside</c><00:07:58.330><c> of</c><00:07:58.540><c> the</c>

00:07:58.710 --> 00:07:58.720 align:start position:0%
a healthy ecosystem outside of the
 

00:07:58.720 --> 00:08:01.800 align:start position:0%
a healthy ecosystem outside of the
blockchain<00:07:59.190><c> now</c><00:08:00.190><c> that</c><00:08:00.910><c> point</c><00:08:01.150><c> is</c><00:08:01.390><c> really</c>

00:08:01.800 --> 00:08:01.810 align:start position:0%
blockchain now that point is really
 

00:08:01.810 --> 00:08:04.200 align:start position:0%
blockchain now that point is really
important<00:08:02.400><c> because</c><00:08:03.400><c> when</c><00:08:03.700><c> you</c><00:08:03.790><c> only</c><00:08:03.940><c> have</c><00:08:04.180><c> one</c>

00:08:04.200 --> 00:08:04.210 align:start position:0%
important because when you only have one
 

00:08:04.210 --> 00:08:06.320 align:start position:0%
important because when you only have one
line<00:08:04.630><c> of</c><00:08:04.810><c> business</c><00:08:04.990><c> you</c><00:08:05.620><c> are</c><00:08:06.100><c> naturally</c>

00:08:06.320 --> 00:08:06.330 align:start position:0%
line of business you are naturally
 

00:08:06.330 --> 00:08:08.910 align:start position:0%
line of business you are naturally
incentivized<00:08:07.330><c> to</c><00:08:07.480><c> protect</c><00:08:07.870><c> it</c><00:08:07.990><c> at</c><00:08:08.080><c> all</c><00:08:08.230><c> costs</c>

00:08:08.910 --> 00:08:08.920 align:start position:0%
incentivized to protect it at all costs
 

00:08:08.920 --> 00:08:13.860 align:start position:0%
incentivized to protect it at all costs
that's<00:08:09.790><c> an</c><00:08:09.940><c> important</c><00:08:10.420><c> statement</c><00:08:12.690><c> but</c><00:08:13.690><c> wait</c>

00:08:13.860 --> 00:08:13.870 align:start position:0%
that's an important statement but wait
 

00:08:13.870 --> 00:08:18.690 align:start position:0%
that's an important statement but wait
what<00:08:14.680><c> about</c><00:08:15.300><c> CPUs</c><00:08:16.410><c> well</c><00:08:17.410><c> there's</c><00:08:18.220><c> a</c><00:08:18.310><c> problem</c>

00:08:18.690 --> 00:08:18.700 align:start position:0%
what about CPUs well there's a problem
 

00:08:18.700 --> 00:08:21.750 align:start position:0%
what about CPUs well there's a problem
with<00:08:19.000><c> CPUs</c><00:08:19.590><c> see</c><00:08:20.590><c> they're</c><00:08:21.310><c> naturally</c>

00:08:21.750 --> 00:08:21.760 align:start position:0%
with CPUs see they're naturally
 

00:08:21.760 --> 00:08:23.220 align:start position:0%
with CPUs see they're naturally
exploited<00:08:22.360><c> for</c><00:08:22.390><c> cryptocurrency</c><00:08:22.960><c> mining</c>

00:08:23.220 --> 00:08:23.230 align:start position:0%
exploited for cryptocurrency mining
 

00:08:23.230 --> 00:08:25.290 align:start position:0%
exploited for cryptocurrency mining
they're<00:08:23.980><c> really</c><00:08:24.190><c> great</c><00:08:24.400><c> with</c><00:08:24.520><c> botnets</c><00:08:25.000><c> and</c>

00:08:25.290 --> 00:08:25.300 align:start position:0%
they're really great with botnets and
 

00:08:25.300 --> 00:08:27.480 align:start position:0%
they're really great with botnets and
you<00:08:26.260><c> should</c><00:08:26.470><c> probably</c><00:08:26.770><c> trust</c><00:08:27.190><c> me</c><00:08:27.340><c> on</c><00:08:27.460><c> that</c>

00:08:27.480 --> 00:08:27.490 align:start position:0%
you should probably trust me on that
 

00:08:27.490 --> 00:08:29.790 align:start position:0%
you should probably trust me on that
because<00:08:28.060><c> I</c><00:08:28.420><c> might</c><00:08:29.020><c> have</c><00:08:29.140><c> written</c><00:08:29.290><c> a</c><00:08:29.470><c> few</c><00:08:29.620><c> back</c>

00:08:29.790 --> 00:08:29.800 align:start position:0%
because I might have written a few back
 

00:08:29.800 --> 00:08:31.250 align:start position:0%
because I might have written a few back
in<00:08:29.920><c> the</c><00:08:30.010><c> day</c>

00:08:31.250 --> 00:08:31.260 align:start position:0%
in the day
 

00:08:31.260 --> 00:08:34.020 align:start position:0%
in the day
CPU<00:08:32.260><c> implementations</c><00:08:33.099><c> are</c><00:08:33.250><c> also</c><00:08:33.400><c> the</c><00:08:33.669><c> easiest</c>

00:08:34.020 --> 00:08:34.030 align:start position:0%
CPU implementations are also the easiest
 

00:08:34.030 --> 00:08:36.440 align:start position:0%
CPU implementations are also the easiest
execute<00:08:34.690><c> on</c><00:08:34.840><c> fixed</c><00:08:35.200><c> function</c><00:08:35.440><c> Hardware</c>

00:08:36.440 --> 00:08:36.450 align:start position:0%
execute on fixed function Hardware
 

00:08:36.450 --> 00:08:38.580 align:start position:0%
execute on fixed function Hardware
because<00:08:37.450><c> of</c><00:08:37.570><c> their</c><00:08:37.690><c> very</c><00:08:37.870><c> single-threaded</c>

00:08:38.580 --> 00:08:38.590 align:start position:0%
because of their very single-threaded
 

00:08:38.590 --> 00:08:40.740 align:start position:0%
because of their very single-threaded
nature<00:08:39.070><c> that</c><00:08:39.580><c> lends</c><00:08:39.820><c> themself</c><00:08:40.240><c> really</c><00:08:40.599><c> well</c>

00:08:40.740 --> 00:08:40.750 align:start position:0%
nature that lends themself really well
 

00:08:40.750 --> 00:08:44.610 align:start position:0%
nature that lends themself really well
to<00:08:41.290><c> fix</c><00:08:41.530><c> silicon</c><00:08:42.130><c> implementations</c><00:08:42.910><c> on</c><00:08:43.470><c> top</c><00:08:44.470><c> of</c>

00:08:44.610 --> 00:08:44.620 align:start position:0%
to fix silicon implementations on top of
 

00:08:44.620 --> 00:08:47.400 align:start position:0%
to fix silicon implementations on top of
that<00:08:44.880><c> CPU</c><00:08:45.880><c> implementations</c><00:08:46.780><c> are</c><00:08:46.960><c> also</c><00:08:47.080><c> hard</c>

00:08:47.400 --> 00:08:47.410 align:start position:0%
that CPU implementations are also hard
 

00:08:47.410 --> 00:08:50.580 align:start position:0%
that CPU implementations are also hard
to<00:08:47.530><c> tune</c><00:08:47.770><c> for</c><00:08:48.010><c> each</c><00:08:48.850><c> architecture</c><00:08:49.720><c> shift</c><00:08:50.260><c> or</c>

00:08:50.580 --> 00:08:50.590 align:start position:0%
to tune for each architecture shift or
 

00:08:50.590 --> 00:08:52.680 align:start position:0%
to tune for each architecture shift or
each<00:08:50.710><c> revision</c><00:08:51.220><c> has</c><00:08:51.670><c> some</c><00:08:51.970><c> tricks</c><00:08:52.450><c> of</c>

00:08:52.680 --> 00:08:52.690 align:start position:0%
each revision has some tricks of
 

00:08:52.690 --> 00:08:56.310 align:start position:0%
each revision has some tricks of
trade<00:08:53.040><c> to</c><00:08:54.040><c> get</c><00:08:54.190><c> the</c><00:08:54.310><c> optimizations</c><00:08:55.090><c> or</c><00:08:55.420><c> you</c>

00:08:56.310 --> 00:08:56.320 align:start position:0%
trade to get the optimizations or you
 

00:08:56.320 --> 00:08:58.260 align:start position:0%
trade to get the optimizations or you
know<00:08:56.470><c> in</c><00:08:56.680><c> order</c><00:08:56.800><c> to</c><00:08:56.920><c> perfectly</c><00:08:57.700><c> saturate</c><00:08:58.180><c> the</c>

00:08:58.260 --> 00:08:58.270 align:start position:0%
know in order to perfectly saturate the
 

00:08:58.270 --> 00:09:01.260 align:start position:0%
know in order to perfectly saturate the
hardware<00:08:58.660><c> and</c><00:08:59.530><c> of</c><00:09:00.460><c> course</c><00:09:00.670><c> they're</c><00:09:01.000><c> not</c><00:09:01.150><c> that</c>

00:09:01.260 --> 00:09:01.270 align:start position:0%
hardware and of course they're not that
 

00:09:01.270 --> 00:09:03.780 align:start position:0%
hardware and of course they're not that
great<00:09:01.480><c> at</c><00:09:02.260><c> you</c><00:09:02.740><c> know</c><00:09:02.860><c> math</c><00:09:03.130><c> compared</c><00:09:03.610><c> to</c><00:09:03.730><c> an</c>

00:09:03.780 --> 00:09:03.790 align:start position:0%
great at you know math compared to an
 

00:09:03.790 --> 00:09:06.510 align:start position:0%
great at you know math compared to an
FPGA<00:09:04.270><c> or</c><00:09:04.510><c> a</c><00:09:04.540><c> GPU</c><00:09:04.930><c> they're</c><00:09:05.590><c> kind</c><00:09:05.770><c> of</c><00:09:05.860><c> slow</c><00:09:06.100><c> not</c>

00:09:06.510 --> 00:09:06.520 align:start position:0%
FPGA or a GPU they're kind of slow not
 

00:09:06.520 --> 00:09:09.240 align:start position:0%
FPGA or a GPU they're kind of slow not
as<00:09:06.640><c> dense</c><00:09:06.880><c> you</c><00:09:07.720><c> can't</c><00:09:07.990><c> really</c><00:09:08.380><c> pack</c><00:09:08.680><c> a</c><00:09:08.710><c> mining</c>

00:09:09.240 --> 00:09:09.250 align:start position:0%
as dense you can't really pack a mining
 

00:09:09.250 --> 00:09:11.730 align:start position:0%
as dense you can't really pack a mining
machine<00:09:09.580><c> full</c><00:09:09.790><c> of</c><00:09:09.940><c> CPUs</c><00:09:10.450><c> you</c><00:09:11.080><c> can</c><00:09:11.260><c> pack</c><00:09:11.410><c> a</c><00:09:11.440><c> rack</c>

00:09:11.730 --> 00:09:11.740 align:start position:0%
machine full of CPUs you can pack a rack
 

00:09:11.740 --> 00:09:14.760 align:start position:0%
machine full of CPUs you can pack a rack
full<00:09:12.010><c> of</c><00:09:12.040><c> Asics</c><00:09:12.460><c> or</c><00:09:12.610><c> GPUs</c><00:09:13.140><c> density</c><00:09:14.140><c> is</c><00:09:14.260><c> really</c>

00:09:14.760 --> 00:09:14.770 align:start position:0%
full of Asics or GPUs density is really
 

00:09:14.770 --> 00:09:16.830 align:start position:0%
full of Asics or GPUs density is really
really<00:09:14.980><c> important</c><00:09:15.550><c> to</c><00:09:15.700><c> mining</c><00:09:16.120><c> enthusiasts</c>

00:09:16.830 --> 00:09:16.840 align:start position:0%
really important to mining enthusiasts
 

00:09:16.840 --> 00:09:20.850 align:start position:0%
really important to mining enthusiasts
and<00:09:17.620><c> also</c><00:09:18.040><c> remember</c><00:09:18.550><c> GPU</c><00:09:19.150><c> was</c><00:09:19.750><c> a</c><00:09:20.080><c> GPU</c><00:09:20.620><c> based</c>

00:09:20.850 --> 00:09:20.860 align:start position:0%
and also remember GPU was a GPU based
 

00:09:20.860 --> 00:09:22.650 align:start position:0%
and also remember GPU was a GPU based
algorithm<00:09:21.490><c> from</c><00:09:21.670><c> the</c><00:09:21.790><c> start</c><00:09:22.120><c> that's</c><00:09:22.480><c> what</c>

00:09:22.650 --> 00:09:22.660 align:start position:0%
algorithm from the start that's what
 

00:09:22.660 --> 00:09:25.320 align:start position:0%
algorithm from the start that's what
memory<00:09:22.990><c> hardness</c><00:09:23.440><c> means</c><00:09:23.710><c> it</c><00:09:24.130><c> means</c><00:09:24.820><c> that</c><00:09:25.030><c> you</c>

00:09:25.320 --> 00:09:25.330 align:start position:0%
memory hardness means it means that you
 

00:09:25.330 --> 00:09:30.350 align:start position:0%
memory hardness means it means that you
need<00:09:25.540><c> a</c><00:09:25.810><c> GPU</c><00:09:26.320><c> we</c><00:09:27.160><c> simply</c><00:09:27.580><c> tuned</c><00:09:28.090><c> it</c><00:09:28.270><c> for</c><00:09:28.540><c> GPUs</c>

00:09:30.350 --> 00:09:30.360 align:start position:0%
need a GPU we simply tuned it for GPUs
 

00:09:30.360 --> 00:09:33.180 align:start position:0%
need a GPU we simply tuned it for GPUs
now<00:09:31.360><c> a</c><00:09:31.660><c> warning</c><00:09:32.200><c> this</c><00:09:32.470><c> is</c><00:09:32.590><c> gonna</c><00:09:32.710><c> get</c><00:09:32.950><c> a</c><00:09:33.010><c> bit</c>

00:09:33.180 --> 00:09:33.190 align:start position:0%
now a warning this is gonna get a bit
 

00:09:33.190 --> 00:09:35.430 align:start position:0%
now a warning this is gonna get a bit
technical<00:09:33.430><c> from</c><00:09:33.820><c> this</c><00:09:33.970><c> point</c><00:09:34.180><c> on</c><00:09:34.330><c> this</c><00:09:35.110><c> is</c><00:09:35.290><c> our</c>

00:09:35.430 --> 00:09:35.440 align:start position:0%
technical from this point on this is our
 

00:09:35.440 --> 00:09:38.640 align:start position:0%
technical from this point on this is our
at<00:09:35.620><c> hash</c><00:09:35.860><c> spaghetti</c><00:09:36.310><c> and</c><00:09:36.490><c> logo</c><00:09:37.170><c> Lego</c><00:09:38.170><c> rather</c>

00:09:38.640 --> 00:09:38.650 align:start position:0%
at hash spaghetti and logo Lego rather
 

00:09:38.650 --> 00:09:41.640 align:start position:0%
at hash spaghetti and logo Lego rather
and<00:09:38.980><c> hash</c><00:09:39.400><c> itself</c><00:09:39.820><c> is</c><00:09:40.060><c> relatively</c><00:09:40.660><c> simple</c><00:09:41.080><c> it</c>

00:09:41.640 --> 00:09:41.650 align:start position:0%
and hash itself is relatively simple it
 

00:09:41.650 --> 00:09:44.070 align:start position:0%
and hash itself is relatively simple it
requires<00:09:42.220><c> a</c><00:09:42.340><c> semi</c><00:09:42.730><c> constant</c><00:09:43.330><c> scratch</c><00:09:43.570><c> pad</c>

00:09:44.070 --> 00:09:44.080 align:start position:0%
requires a semi constant scratch pad
 

00:09:44.080 --> 00:09:46.230 align:start position:0%
requires a semi constant scratch pad
file<00:09:44.350><c> we</c><00:09:44.590><c> call</c><00:09:44.770><c> it</c><00:09:44.860><c> the</c><00:09:44.950><c> dag</c><00:09:45.160><c> and</c><00:09:45.820><c> then</c><00:09:46.060><c> all</c>

00:09:46.230 --> 00:09:46.240 align:start position:0%
file we call it the dag and then all
 

00:09:46.240 --> 00:09:48.870 align:start position:0%
file we call it the dag and then all
instances<00:09:46.780><c> reuse</c><00:09:47.170><c> that</c><00:09:47.350><c> same</c><00:09:47.410><c> dag</c><00:09:47.950><c> for</c><00:09:48.790><c> the</c>

00:09:48.870 --> 00:09:48.880 align:start position:0%
instances reuse that same dag for the
 

00:09:48.880 --> 00:09:52.800 align:start position:0%
instances reuse that same dag for the
next<00:09:49.120><c> 100</c><00:09:49.660><c> hours</c><00:09:50.820><c> mining</c><00:09:51.820><c> it</c><00:09:51.970><c> hash</c><00:09:52.180><c> really</c>

00:09:52.800 --> 00:09:52.810 align:start position:0%
next 100 hours mining it hash really
 

00:09:52.810 --> 00:09:54.900 align:start position:0%
next 100 hours mining it hash really
just<00:09:52.990><c> involves</c><00:09:53.350><c> grabbing</c><00:09:53.710><c> random</c><00:09:54.100><c> slices</c><00:09:54.760><c> of</c>

00:09:54.900 --> 00:09:54.910 align:start position:0%
just involves grabbing random slices of
 

00:09:54.910 --> 00:09:56.160 align:start position:0%
just involves grabbing random slices of
the<00:09:54.970><c> data</c><00:09:55.000><c> set</c><00:09:55.420><c> and</c><00:09:55.540><c> hashing</c><00:09:55.900><c> them</c><00:09:56.050><c> together</c>

00:09:56.160 --> 00:09:56.170 align:start position:0%
the data set and hashing them together
 

00:09:56.170 --> 00:09:58.410 align:start position:0%
the data set and hashing them together
and<00:09:56.710><c> then</c><00:09:56.860><c> the</c><00:09:56.980><c> DRAM</c><00:09:57.340><c> peak</c><00:09:57.790><c> bandwidth</c><00:09:58.240><c> up</c>

00:09:58.410 --> 00:09:58.420 align:start position:0%
and then the DRAM peak bandwidth up
 

00:09:58.420 --> 00:10:00.420 align:start position:0%
and then the DRAM peak bandwidth up
there<00:09:58.600><c> which</c><00:09:58.780><c> we</c><00:09:58.930><c> can</c><00:09:59.080><c> see</c><00:09:59.260><c> it's</c><00:10:00.010><c> easy</c><00:10:00.250><c> to</c>

00:10:00.420 --> 00:10:00.430 align:start position:0%
there which we can see it's easy to
 

00:10:00.430 --> 00:10:03.240 align:start position:0%
there which we can see it's easy to
calculate<00:10:01.060><c> it's</c><00:10:01.720><c> 64</c><00:10:02.260><c> iterations</c><00:10:02.920><c> each</c>

00:10:03.240 --> 00:10:03.250 align:start position:0%
calculate it's 64 iterations each
 

00:10:03.250 --> 00:10:07.620 align:start position:0%
calculate it's 64 iterations each
reading<00:10:03.550><c> 128</c><00:10:04.360><c> sequential</c><00:10:04.930><c> bytes</c><00:10:05.910><c> so</c><00:10:06.910><c> at</c><00:10:07.330><c> hash</c>

00:10:07.620 --> 00:10:07.630 align:start position:0%
reading 128 sequential bytes so at hash
 

00:10:07.630 --> 00:10:11.460 align:start position:0%
reading 128 sequential bytes so at hash
is<00:10:07.990><c> really</c><00:10:08.680><c> just</c><00:10:09.100><c> a</c><00:10:09.330><c> memory</c><00:10:10.330><c> hard</c><00:10:10.870><c> proof</c><00:10:11.260><c> of</c>

00:10:11.460 --> 00:10:11.470 align:start position:0%
is really just a memory hard proof of
 

00:10:11.470 --> 00:10:14.910 align:start position:0%
is really just a memory hard proof of
work<00:10:11.620><c> algorithm</c><00:10:12.690><c> that</c><00:10:13.690><c> means</c><00:10:13.930><c> it</c><00:10:14.620><c> just</c>

00:10:14.910 --> 00:10:14.920 align:start position:0%
work algorithm that means it just
 

00:10:14.920 --> 00:10:17.460 align:start position:0%
work algorithm that means it just
requires<00:10:15.250><c> two</c><00:10:15.760><c> major</c><00:10:16.120><c> things</c><00:10:16.480><c> a</c><00:10:16.810><c> relatively</c>

00:10:17.460 --> 00:10:17.470 align:start position:0%
requires two major things a relatively
 

00:10:17.470 --> 00:10:19.800 align:start position:0%
requires two major things a relatively
large<00:10:17.770><c> frame</c><00:10:18.070><c> buffer</c><00:10:18.460><c> and</c><00:10:18.670><c> as</c><00:10:19.330><c> much</c><00:10:19.510><c> memory</c>

00:10:19.800 --> 00:10:19.810 align:start position:0%
large frame buffer and as much memory
 

00:10:19.810 --> 00:10:22.260 align:start position:0%
large frame buffer and as much memory
bandwidth<00:10:20.290><c> as</c><00:10:20.470><c> possible</c><00:10:20.920><c> both</c><00:10:21.820><c> of</c><00:10:22.090><c> these</c>

00:10:22.260 --> 00:10:22.270 align:start position:0%
bandwidth as possible both of these
 

00:10:22.270 --> 00:10:25.410 align:start position:0%
bandwidth as possible both of these
things<00:10:22.690><c> that</c><00:10:22.870><c> GPU</c><00:10:23.260><c> has</c><00:10:23.500><c> great</c><00:10:24.400><c> but</c><00:10:24.970><c> guess</c><00:10:25.150><c> what</c>

00:10:25.410 --> 00:10:25.420 align:start position:0%
things that GPU has great but guess what
 

00:10:25.420 --> 00:10:28.800 align:start position:0%
things that GPU has great but guess what
an<00:10:25.600><c> ASIC</c><00:10:26.020><c> can</c><00:10:26.170><c> have</c><00:10:26.350><c> that</c><00:10:26.590><c> too</c><00:10:27.030><c> so</c><00:10:28.030><c> can</c><00:10:28.210><c> an</c><00:10:28.300><c> FPGA</c>

00:10:28.800 --> 00:10:28.810 align:start position:0%
an ASIC can have that too so can an FPGA
 

00:10:28.810 --> 00:10:31.590 align:start position:0%
an ASIC can have that too so can an FPGA
so<00:10:29.770><c> it</c><00:10:29.860><c> can</c><00:10:29.980><c> a</c><00:10:30.010><c> beat</c><00:10:30.220><c> PCB</c><00:10:30.880><c> with</c><00:10:31.090><c> just</c><00:10:31.330><c> a</c><00:10:31.420><c> ton</c><00:10:31.570><c> of</c>

00:10:31.590 --> 00:10:31.600 align:start position:0%
so it can a beat PCB with just a ton of
 

00:10:31.600 --> 00:10:33.810 align:start position:0%
so it can a beat PCB with just a ton of
DRAM<00:10:32.020><c> in</c><00:10:32.200><c> a</c><00:10:32.260><c> little</c><00:10:32.440><c> compute</c><00:10:32.770><c> core</c><00:10:32.980><c> because</c>

00:10:33.810 --> 00:10:33.820 align:start position:0%
DRAM in a little compute core because
 

00:10:33.820 --> 00:10:36.090 align:start position:0%
DRAM in a little compute core because
that's<00:10:34.000><c> all</c><00:10:34.180><c> you</c><00:10:34.330><c> need</c><00:10:34.510><c> memory</c><00:10:35.050><c> DRAM</c><00:10:35.589><c> chips</c>

00:10:36.090 --> 00:10:36.100 align:start position:0%
that's all you need memory DRAM chips
 

00:10:36.100 --> 00:10:38.790 align:start position:0%
that's all you need memory DRAM chips
and<00:10:36.520><c> hashes</c><00:10:37.480><c> only</c><00:10:37.810><c> tuned</c><00:10:38.110><c> to</c><00:10:38.230><c> memory</c><00:10:38.589><c> but</c><00:10:38.740><c> not</c>

00:10:38.790 --> 00:10:38.800 align:start position:0%
and hashes only tuned to memory but not
 

00:10:38.800 --> 00:10:41.100 align:start position:0%
and hashes only tuned to memory but not
the<00:10:39.100><c> rest</c><00:10:39.280><c> of</c><00:10:39.430><c> the</c><00:10:39.520><c> hardware</c><00:10:40.000><c> and</c><00:10:40.210><c> so</c><00:10:40.600><c> again</c>

00:10:41.100 --> 00:10:41.110 align:start position:0%
the rest of the hardware and so again
 

00:10:41.110 --> 00:10:43.770 align:start position:0%
the rest of the hardware and so again
how<00:10:42.100><c> you</c><00:10:42.160><c> make</c><00:10:42.430><c> an</c><00:10:42.550><c> ASIC</c><00:10:42.910><c> you</c><00:10:43.120><c> just</c><00:10:43.300><c> remove</c><00:10:43.570><c> all</c>

00:10:43.770 --> 00:10:43.780 align:start position:0%
how you make an ASIC you just remove all
 

00:10:43.780 --> 00:10:45.090 align:start position:0%
how you make an ASIC you just remove all
the<00:10:43.930><c> other</c><00:10:44.080><c> parts</c><00:10:44.500><c> that</c><00:10:44.560><c> are</c><00:10:44.770><c> currently</c>

00:10:45.090 --> 00:10:45.100 align:start position:0%
the other parts that are currently
 

00:10:45.100 --> 00:10:47.460 align:start position:0%
the other parts that are currently
unused<00:10:45.280><c> or</c><00:10:45.880><c> rather</c><00:10:46.420><c> all</c><00:10:46.570><c> the</c><00:10:46.870><c> wasted</c><00:10:47.230><c> space</c>

00:10:47.460 --> 00:10:47.470 align:start position:0%
unused or rather all the wasted space
 

00:10:47.470 --> 00:10:50.940 align:start position:0%
unused or rather all the wasted space
and<00:10:47.860><c> you</c><00:10:48.310><c> get</c><00:10:48.460><c> a</c><00:10:48.490><c> nice</c><00:10:48.760><c> increase</c><00:10:49.530><c> that's</c><00:10:50.530><c> ASIC</c>

00:10:50.940 --> 00:10:50.950 align:start position:0%
and you get a nice increase that's ASIC
 

00:10:50.950 --> 00:10:53.520 align:start position:0%
and you get a nice increase that's ASIC
creation<00:10:51.339><c> in</c><00:10:51.460><c> a</c><00:10:51.550><c> nutshell</c><00:10:51.730><c> guys</c><00:10:52.260><c> just</c><00:10:53.260><c> remove</c>

00:10:53.520 --> 00:10:53.530 align:start position:0%
creation in a nutshell guys just remove
 

00:10:53.530 --> 00:10:56.579 align:start position:0%
creation in a nutshell guys just remove
all<00:10:53.680><c> the</c><00:10:53.830><c> unwanted</c><00:10:54.460><c> or</c><00:10:54.910><c> wasted</c><00:10:55.570><c> parts</c><00:10:56.110><c> be</c><00:10:56.500><c> it</c>

00:10:56.579 --> 00:10:56.589 align:start position:0%
all the unwanted or wasted parts be it
 

00:10:56.589 --> 00:10:58.020 align:start position:0%
all the unwanted or wasted parts be it
silicon<00:10:57.010><c> or</c><00:10:57.160><c> compute</c><00:10:57.520><c> cycles</c>

00:10:58.020 --> 00:10:58.030 align:start position:0%
silicon or compute cycles
 

00:10:58.030 --> 00:11:02.880 align:start position:0%
silicon or compute cycles
voila<00:11:00.600><c> so</c><00:11:01.600><c> the</c><00:11:01.720><c> inefficiencies</c><00:11:01.960><c> in</c><00:11:02.440><c> add</c><00:11:02.680><c> hash</c>

00:11:02.880 --> 00:11:02.890 align:start position:0%
voila so the inefficiencies in add hash
 

00:11:02.890 --> 00:11:04.500 align:start position:0%
voila so the inefficiencies in add hash
become<00:11:03.280><c> more</c><00:11:03.460><c> obvious</c><00:11:03.580><c> when</c><00:11:03.970><c> you</c><00:11:04.030><c> profile</c><00:11:04.480><c> a</c>

00:11:04.500 --> 00:11:04.510 align:start position:0%
become more obvious when you profile a
 

00:11:04.510 --> 00:11:05.630 align:start position:0%
become more obvious when you profile a
graphics<00:11:04.930><c> card</c><00:11:05.170><c> with</c>

00:11:05.630 --> 00:11:05.640 align:start position:0%
graphics card with
 

00:11:05.640 --> 00:11:08.870 align:start position:0%
graphics card with
if<00:11:05.970><c> minor</c><00:11:06.329><c> so</c><00:11:07.230><c> this</c><00:11:07.260><c> is</c><00:11:07.529><c> the</c><00:11:08.010><c> top</c><00:11:08.640><c> picture</c>

00:11:08.870 --> 00:11:08.880 align:start position:0%
if minor so this is the top picture
 

00:11:08.880 --> 00:11:10.910 align:start position:0%
if minor so this is the top picture
there<00:11:09.180><c> is</c><00:11:09.209><c> taken</c><00:11:09.660><c> from</c><00:11:09.810><c> insight</c><00:11:10.410><c> profiler</c>

00:11:10.910 --> 00:11:10.920 align:start position:0%
there is taken from insight profiler
 

00:11:10.920 --> 00:11:12.530 align:start position:0%
there is taken from insight profiler
that's<00:11:11.339><c> new</c><00:11:11.550><c> videos</c><00:11:11.850><c> new</c><00:11:11.880><c> performance</c>

00:11:12.530 --> 00:11:12.540 align:start position:0%
that's new videos new performance
 

00:11:12.540 --> 00:11:15.790 align:start position:0%
that's new videos new performance
profiler<00:11:12.959><c> pretty</c><00:11:13.529><c> sexy</c><00:11:13.950><c> bottom</c><00:11:14.670><c> one</c><00:11:14.820><c> is</c><00:11:14.970><c> AMD's</c>

00:11:15.790 --> 00:11:15.800 align:start position:0%
profiler pretty sexy bottom one is AMD's
 

00:11:15.800 --> 00:11:19.730 align:start position:0%
profiler pretty sexy bottom one is AMD's
so<00:11:16.800><c> you</c><00:11:17.250><c> see</c><00:11:17.459><c> SM</c><00:11:17.850><c> up</c><00:11:18.029><c> there</c><00:11:18.209><c> s</c><00:11:18.690><c> M</c><00:11:19.350><c> stands</c><00:11:19.620><c> for</c>

00:11:19.730 --> 00:11:19.740 align:start position:0%
so you see SM up there s M stands for
 

00:11:19.740 --> 00:11:22.160 align:start position:0%
so you see SM up there s M stands for
streaming<00:11:20.190><c> multi</c><00:11:20.579><c> presser</c><00:11:20.940><c> multi</c><00:11:21.630><c> processor</c>

00:11:22.160 --> 00:11:22.170 align:start position:0%
streaming multi presser multi processor
 

00:11:22.170 --> 00:11:23.900 align:start position:0%
streaming multi presser multi processor
those<00:11:22.680><c> are</c><00:11:22.860><c> kind</c><00:11:23.010><c> of</c><00:11:23.070><c> the</c><00:11:23.160><c> computational</c>

00:11:23.900 --> 00:11:23.910 align:start position:0%
those are kind of the computational
 

00:11:23.910 --> 00:11:26.329 align:start position:0%
those are kind of the computational
cores<00:11:24.180><c> of</c><00:11:24.329><c> NVIDIA</c><00:11:24.839><c> GPUs</c><00:11:25.320><c> which</c><00:11:26.070><c> you</c><00:11:26.220><c> know</c>

00:11:26.329 --> 00:11:26.339 align:start position:0%
cores of NVIDIA GPUs which you know
 

00:11:26.339 --> 00:11:28.490 align:start position:0%
cores of NVIDIA GPUs which you know
create<00:11:26.700><c> manage</c><00:11:27.240><c> schedule</c><00:11:27.839><c> execute</c>

00:11:28.490 --> 00:11:28.500 align:start position:0%
create manage schedule execute
 

00:11:28.500 --> 00:11:31.040 align:start position:0%
create manage schedule execute
instructions<00:11:29.329><c> for</c><00:11:30.329><c> many</c><00:11:30.510><c> threads</c><00:11:30.839><c> in</c>

00:11:31.040 --> 00:11:31.050 align:start position:0%
instructions for many threads in
 

00:11:31.050 --> 00:11:34.100 align:start position:0%
instructions for many threads in
parallel<00:11:31.079><c> and</c><00:11:31.980><c> they</c><00:11:32.970><c> consume</c><00:11:33.480><c> most</c><00:11:33.870><c> of</c><00:11:34.050><c> the</c>

00:11:34.100 --> 00:11:34.110 align:start position:0%
parallel and they consume most of the
 

00:11:34.110 --> 00:11:36.319 align:start position:0%
parallel and they consume most of the
GPUs<00:11:34.529><c> die</c><00:11:34.800><c> area</c><00:11:35.220><c> so</c><00:11:35.640><c> when</c><00:11:35.790><c> we</c><00:11:35.880><c> talk</c><00:11:36.060><c> about</c><00:11:36.089><c> a</c>

00:11:36.319 --> 00:11:36.329 align:start position:0%
GPUs die area so when we talk about a
 

00:11:36.329 --> 00:11:39.250 align:start position:0%
GPUs die area so when we talk about a
GPU<00:11:36.720><c> ASIC</c><00:11:37.230><c> we're</c><00:11:37.440><c> referring</c><00:11:37.709><c> to</c><00:11:37.829><c> the</c><00:11:37.980><c> GPU</c><00:11:38.310><c> core</c>

00:11:39.250 --> 00:11:39.260 align:start position:0%
GPU ASIC we're referring to the GPU core
 

00:11:39.260 --> 00:11:42.350 align:start position:0%
GPU ASIC we're referring to the GPU core
as<00:11:40.260><c> we</c><00:11:40.500><c> can</c><00:11:40.649><c> see</c><00:11:40.829><c> they</c><00:11:41.070><c> run</c><00:11:41.279><c> up</c><00:11:41.430><c> less</c><00:11:41.670><c> than</c><00:11:41.700><c> 30%</c>

00:11:42.350 --> 00:11:42.360 align:start position:0%
as we can see they run up less than 30%
 

00:11:42.360 --> 00:11:45.019 align:start position:0%
as we can see they run up less than 30%
utilization<00:11:42.839><c> right</c><00:11:43.560><c> now</c><00:11:43.740><c> and</c><00:11:44.040><c> all</c><00:11:44.579><c> the</c><00:11:44.730><c> bottom</c>

00:11:45.019 --> 00:11:45.029 align:start position:0%
utilization right now and all the bottom
 

00:11:45.029 --> 00:11:48.560 align:start position:0%
utilization right now and all the bottom
code<00:11:45.570><c> Excel</c><00:11:45.959><c> AMD's</c><00:11:46.649><c> performance</c><00:11:47.399><c> profiler</c><00:11:47.880><c> we</c>

00:11:48.560 --> 00:11:48.570 align:start position:0%
code Excel AMD's performance profiler we
 

00:11:48.570 --> 00:11:50.389 align:start position:0%
code Excel AMD's performance profiler we
don't<00:11:48.779><c> have</c><00:11:49.110><c> as</c><00:11:49.320><c> many</c><00:11:49.440><c> details</c><00:11:49.740><c> but</c><00:11:50.160><c> you</c><00:11:50.279><c> can</c>

00:11:50.389 --> 00:11:50.399 align:start position:0%
don't have as many details but you can
 

00:11:50.399 --> 00:11:53.660 align:start position:0%
don't have as many details but you can
see<00:11:50.610><c> there</c><00:11:50.959><c> v</c><00:11:51.959><c> al</c><00:11:52.560><c> you</c><00:11:52.920><c> busy</c>

00:11:53.660 --> 00:11:53.670 align:start position:0%
see there v al you busy
 

00:11:53.670 --> 00:11:57.110 align:start position:0%
see there v al you busy
that<00:11:54.269><c> stands</c><00:11:54.570><c> for</c><00:11:54.660><c> vector</c><00:11:55.050><c> al</c><00:11:55.350><c> use</c><00:11:55.820><c> vector</c><00:11:56.820><c> al</c>

00:11:57.110 --> 00:11:57.120 align:start position:0%
that stands for vector al use vector al
 

00:11:57.120 --> 00:11:58.670 align:start position:0%
that stands for vector al use vector al
use<00:11:57.390><c> are</c><00:11:57.600><c> the</c><00:11:57.720><c> digital</c><00:11:58.050><c> circuits</c><00:11:58.500><c> that</c>

00:11:58.670 --> 00:11:58.680 align:start position:0%
use are the digital circuits that
 

00:11:58.680 --> 00:12:00.259 align:start position:0%
use are the digital circuits that
perform<00:11:59.040><c> arithmetic</c><00:11:59.279><c> and</c><00:11:59.880><c> bitwise</c>

00:12:00.259 --> 00:12:00.269 align:start position:0%
perform arithmetic and bitwise
 

00:12:00.269 --> 00:12:03.530 align:start position:0%
perform arithmetic and bitwise
operations<00:12:01.050><c> for</c><00:12:01.260><c> the</c><00:12:01.350><c> AMG</c><00:12:01.620><c> AMD</c><00:12:02.519><c> GPU</c><00:12:02.940><c> cards</c><00:12:03.300><c> and</c>

00:12:03.530 --> 00:12:03.540 align:start position:0%
operations for the AMG AMD GPU cards and
 

00:12:03.540 --> 00:12:05.810 align:start position:0%
operations for the AMG AMD GPU cards and
it's<00:12:04.200><c> kind</c><00:12:04.410><c> of</c><00:12:04.470><c> the</c><00:12:04.560><c> same</c><00:12:04.769><c> thing</c><00:12:04.980><c> as</c><00:12:05.160><c> math</c><00:12:05.550><c> core</c>

00:12:05.810 --> 00:12:05.820 align:start position:0%
it's kind of the same thing as math core
 

00:12:05.820 --> 00:12:09.110 align:start position:0%
it's kind of the same thing as math core
for<00:12:06.570><c> NVIDIA</c><00:12:06.750><c> GPUs</c><00:12:07.380><c> both</c><00:12:08.190><c> of</c><00:12:08.399><c> these</c><00:12:08.490><c> things</c><00:12:08.790><c> are</c>

00:12:09.110 --> 00:12:09.120 align:start position:0%
for NVIDIA GPUs both of these things are
 

00:12:09.120 --> 00:12:11.720 align:start position:0%
for NVIDIA GPUs both of these things are
the<00:12:09.300><c> building</c><00:12:09.630><c> blocks</c><00:12:09.839><c> of</c><00:12:09.959><c> a</c><00:12:10.050><c> GPU</c><00:12:10.380><c> ASIC</c><00:12:10.829><c> so</c>

00:12:11.720 --> 00:12:11.730 align:start position:0%
the building blocks of a GPU ASIC so
 

00:12:11.730 --> 00:12:14.740 align:start position:0%
the building blocks of a GPU ASIC so
that<00:12:11.880><c> means</c><00:12:12.120><c> today</c><00:12:12.420><c> at</c><00:12:12.779><c> hash</c><00:12:13.170><c> only</c><00:12:13.800><c> consumes</c>

00:12:14.740 --> 00:12:14.750 align:start position:0%
that means today at hash only consumes
 

00:12:14.750 --> 00:12:20.540 align:start position:0%
that means today at hash only consumes
30%<00:12:15.750><c> less</c><00:12:16.050><c> than</c><00:12:16.110><c> 30%</c><00:12:16.620><c> of</c><00:12:17.360><c> a</c><00:12:18.360><c> GPU</c><00:12:18.690><c> core</c><00:12:19.550><c> so</c>

00:12:20.540 --> 00:12:20.550 align:start position:0%
30% less than 30% of a GPU core so
 

00:12:20.550 --> 00:12:22.610 align:start position:0%
30% less than 30% of a GPU core so
that's<00:12:20.730><c> one</c><00:12:21.360><c> of</c><00:12:21.480><c> the</c><00:12:21.570><c> major</c><00:12:21.810><c> deficiencies</c>

00:12:22.610 --> 00:12:22.620 align:start position:0%
that's one of the major deficiencies
 

00:12:22.620 --> 00:12:26.930 align:start position:0%
that's one of the major deficiencies
with<00:12:23.040><c> it</c><00:12:23.220><c> hash</c><00:12:23.459><c> today</c><00:12:24.470><c> and</c><00:12:25.490><c> the</c><00:12:26.490><c> reason</c><00:12:26.820><c> you</c>

00:12:26.930 --> 00:12:26.940 align:start position:0%
with it hash today and the reason you
 

00:12:26.940 --> 00:12:29.329 align:start position:0%
with it hash today and the reason you
can<00:12:27.089><c> get</c><00:12:27.209><c> a</c><00:12:27.390><c> large</c><00:12:27.750><c> ASIC</c><00:12:28.649><c> performance</c><00:12:29.160><c> gained</c>

00:12:29.329 --> 00:12:29.339 align:start position:0%
can get a large ASIC performance gained
 

00:12:29.339 --> 00:12:31.670 align:start position:0%
can get a large ASIC performance gained
because<00:12:29.760><c> really</c><00:12:30.449><c> all</c><00:12:30.570><c> it</c><00:12:30.870><c> does</c><00:12:31.050><c> is</c><00:12:31.320><c> a</c><00:12:31.350><c> small</c>

00:12:31.670 --> 00:12:31.680 align:start position:0%
because really all it does is a small
 

00:12:31.680 --> 00:12:35.509 align:start position:0%
because really all it does is a small
128<00:12:32.610><c> byte</c><00:12:33.269><c> read</c><00:12:33.540><c> from</c><00:12:33.810><c> the</c><00:12:33.899><c> main</c><00:12:34.079><c> memory</c><00:12:34.519><c> that</c>

00:12:35.509 --> 00:12:35.519 align:start position:0%
128 byte read from the main memory that
 

00:12:35.519 --> 00:12:38.240 align:start position:0%
128 byte read from the main memory that
small<00:12:36.029><c> access</c><00:12:36.570><c> size</c><00:12:36.870><c> is</c><00:12:37.140><c> a</c><00:12:37.170><c> reason</c><00:12:37.620><c> that</c><00:12:37.649><c> GPUs</c>

00:12:38.240 --> 00:12:38.250 align:start position:0%
small access size is a reason that GPUs
 

00:12:38.250 --> 00:12:42.319 align:start position:0%
small access size is a reason that GPUs
that<00:12:38.279><c> utilize</c><00:12:38.850><c> gddr5</c><00:12:39.690><c> X</c><00:12:40.290><c> or</c><00:12:40.769><c> GD</c><00:12:41.190><c> DDR</c><00:12:41.550><c> 6</c><00:12:41.910><c> memory</c>

00:12:42.319 --> 00:12:42.329 align:start position:0%
that utilize gddr5 X or GD DDR 6 memory
 

00:12:42.329 --> 00:12:45.220 align:start position:0%
that utilize gddr5 X or GD DDR 6 memory
were<00:12:42.779><c> so</c><00:12:43.019><c> inefficient</c><00:12:43.500><c> at</c><00:12:43.800><c> executing</c><00:12:44.399><c> at</c><00:12:44.519><c> hash</c>

00:12:45.220 --> 00:12:45.230 align:start position:0%
were so inefficient at executing at hash
 

00:12:45.230 --> 00:12:47.630 align:start position:0%
were so inefficient at executing at hash
some<00:12:46.230><c> of</c><00:12:46.350><c> you</c><00:12:46.470><c> may</c><00:12:46.620><c> be</c><00:12:46.649><c> familiar</c><00:12:47.010><c> with</c><00:12:47.339><c> our</c>

00:12:47.630 --> 00:12:47.640 align:start position:0%
some of you may be familiar with our
 

00:12:47.640 --> 00:12:50.630 align:start position:0%
some of you may be familiar with our
tool<00:12:48.240><c> f</c><00:12:48.540><c> largeman</c><00:12:49.050><c> it</c><00:12:49.290><c> got</c><00:12:49.829><c> kind</c><00:12:50.100><c> of</c><00:12:50.190><c> viral</c><00:12:50.550><c> on</c>

00:12:50.630 --> 00:12:50.640 align:start position:0%
tool f largeman it got kind of viral on
 

00:12:50.640 --> 00:12:54.769 align:start position:0%
tool f largeman it got kind of viral on
the<00:12:50.670><c> internet</c><00:12:51.709><c> watchmen</c><00:12:52.709><c> abused</c><00:12:53.130><c> this</c><00:12:53.570><c> so</c><00:12:54.570><c> we</c>

00:12:54.769 --> 00:12:54.779 align:start position:0%
the internet watchmen abused this so we
 

00:12:54.779 --> 00:12:57.769 align:start position:0%
the internet watchmen abused this so we
matched<00:12:55.050><c> access</c><00:12:55.620><c> patterns</c><00:12:56.070><c> of</c><00:12:56.339><c> 5x</c><00:12:57.060><c> and</c><00:12:57.390><c> g</c><00:12:57.540><c> 6</c>

00:12:57.769 --> 00:12:57.779 align:start position:0%
matched access patterns of 5x and g 6
 

00:12:57.779 --> 00:13:00.740 align:start position:0%
matched access patterns of 5x and g 6
memory<00:12:58.199><c> to</c><00:12:58.680><c> it</c><00:12:58.829><c> hash</c><00:12:59.100><c> to</c><00:12:59.399><c> enable</c><00:12:59.790><c> 128</c><00:13:00.510><c> byte</c>

00:13:00.740 --> 00:13:00.750 align:start position:0%
memory to it hash to enable 128 byte
 

00:13:00.750 --> 00:13:03.590 align:start position:0%
memory to it hash to enable 128 byte
loads<00:13:01.500><c> to</c><00:13:01.829><c> run</c><00:13:02.010><c> at</c><00:13:02.130><c> full</c><00:13:02.279><c> speed</c><00:13:02.670><c> we</c><00:13:03.420><c> have</c><00:13:03.449><c> a</c>

00:13:03.590 --> 00:13:03.600 align:start position:0%
loads to run at full speed we have a
 

00:13:03.600 --> 00:13:05.840 align:start position:0%
loads to run at full speed we have a
public<00:13:04.050><c> version</c><00:13:04.230><c> of</c><00:13:04.470><c> that</c><00:13:04.589><c> tool</c><00:13:04.860><c> for</c><00:13:05.160><c> 5x</c><00:13:05.579><c> we</c>

00:13:05.840 --> 00:13:05.850 align:start position:0%
public version of that tool for 5x we
 

00:13:05.850 --> 00:13:07.490 align:start position:0%
public version of that tool for 5x we
have<00:13:05.970><c> a</c><00:13:06.000><c> private</c><00:13:06.240><c> version</c><00:13:06.540><c> of</c><00:13:06.779><c> that</c><00:13:06.899><c> tool</c><00:13:07.170><c> for</c>

00:13:07.490 --> 00:13:07.500 align:start position:0%
have a private version of that tool for
 

00:13:07.500 --> 00:13:11.150 align:start position:0%
have a private version of that tool for
G<00:13:08.130><c> 6</c><00:13:08.480><c> we</c><00:13:09.480><c> made</c><00:13:09.630><c> a</c><00:13:09.660><c> lot</c><00:13:09.899><c> of</c><00:13:09.990><c> money</c><00:13:10.230><c> off</c><00:13:10.410><c> that</c><00:13:10.649><c> just</c>

00:13:11.150 --> 00:13:11.160 align:start position:0%
G 6 we made a lot of money off that just
 

00:13:11.160 --> 00:13:13.400 align:start position:0%
G 6 we made a lot of money off that just
because<00:13:11.459><c> an</c><00:13:11.550><c> algorithm</c><00:13:12.089><c> wasn't</c><00:13:12.480><c> effectively</c>

00:13:13.400 --> 00:13:13.410 align:start position:0%
because an algorithm wasn't effectively
 

00:13:13.410 --> 00:13:16.970 align:start position:0%
because an algorithm wasn't effectively
tuned<00:13:13.709><c> to</c><00:13:14.399><c> the</c><00:13:14.699><c> hardware</c><00:13:15.410><c> we</c><00:13:16.410><c> see</c><00:13:16.620><c> up</c><00:13:16.740><c> there</c>

00:13:16.970 --> 00:13:16.980 align:start position:0%
tuned to the hardware we see up there
 

00:13:16.980 --> 00:13:18.660 align:start position:0%
tuned to the hardware we see up there
the<00:13:17.279><c> tide</c><00:13:17.520><c> and</c><00:13:17.670><c> X</c><00:13:17.880><c> pass</c>

00:13:18.660 --> 00:13:18.670 align:start position:0%
the tide and X pass
 

00:13:18.670 --> 00:13:21.090 align:start position:0%
the tide and X pass
it's<00:13:19.060><c> similar</c><00:13:19.300><c> to</c><00:13:19.450><c> a</c><00:13:19.600><c> 1080</c><00:13:20.020><c> TI</c><00:13:20.320><c> and</c><00:13:20.890><c> it's</c>

00:13:21.090 --> 00:13:21.100 align:start position:0%
it's similar to a 1080 TI and it's
 

00:13:21.100 --> 00:13:23.040 align:start position:0%
it's similar to a 1080 TI and it's
pretty<00:13:21.430><c> awful</c><00:13:21.580><c> where</c><00:13:22.000><c> you</c><00:13:22.480><c> can</c><00:13:22.630><c> see</c><00:13:22.810><c> up</c><00:13:22.930><c> there</c>

00:13:23.040 --> 00:13:23.050 align:start position:0%
pretty awful where you can see up there
 

00:13:23.050 --> 00:13:25.350 align:start position:0%
pretty awful where you can see up there
it<00:13:23.200><c> has</c><00:13:23.350><c> less</c><00:13:23.589><c> than</c><00:13:23.770><c> 20%</c><00:13:24.040><c> core</c><00:13:24.550><c> utilization</c>

00:13:25.350 --> 00:13:25.360 align:start position:0%
it has less than 20% core utilization
 

00:13:25.360 --> 00:13:27.720 align:start position:0%
it has less than 20% core utilization
and<00:13:25.570><c> less</c><00:13:26.050><c> than</c><00:13:26.260><c> 60%</c><00:13:26.800><c> memory</c><00:13:27.550><c> utilization</c>

00:13:27.720 --> 00:13:27.730 align:start position:0%
and less than 60% memory utilization
 

00:13:27.730 --> 00:13:29.570 align:start position:0%
and less than 60% memory utilization
which<00:13:28.480><c> is</c><00:13:28.630><c> on</c><00:13:28.750><c> the</c><00:13:28.839><c> bottom</c>

00:13:29.570 --> 00:13:29.580 align:start position:0%
which is on the bottom
 

00:13:29.580 --> 00:13:33.630 align:start position:0%
which is on the bottom
there's<00:13:30.580><c> also</c><00:13:30.850><c> another</c><00:13:31.420><c> issue</c><00:13:32.370><c> cat</c><00:13:33.370><c> jack</c>

00:13:33.630 --> 00:13:33.640 align:start position:0%
there's also another issue cat jack
 

00:13:33.640 --> 00:13:35.700 align:start position:0%
there's also another issue cat jack
that's<00:13:34.390><c> the</c><00:13:34.540><c> hash</c><00:13:34.690><c> function</c><00:13:34.930><c> that</c><00:13:35.260><c> stuff</c><00:13:35.500><c> at</c>

00:13:35.700 --> 00:13:35.710 align:start position:0%
that's the hash function that stuff at
 

00:13:35.710 --> 00:13:38.519 align:start position:0%
that's the hash function that stuff at
the<00:13:35.890><c> start</c><00:13:36.130><c> and</c><00:13:36.279><c> end</c><00:13:36.460><c> of</c><00:13:36.610><c> it</c><00:13:36.760><c> hash</c><00:13:36.940><c> and</c><00:13:37.529><c> that</c>

00:13:38.519 --> 00:13:38.529 align:start position:0%
the start and end of it hash and that
 

00:13:38.529 --> 00:13:41.130 align:start position:0%
the start and end of it hash and that
can<00:13:38.800><c> be</c><00:13:38.950><c> executed</c><00:13:39.730><c> much</c><00:13:40.089><c> more</c><00:13:40.450><c> efficiently</c><00:13:41.020><c> on</c>

00:13:41.130 --> 00:13:41.140 align:start position:0%
can be executed much more efficiently on
 

00:13:41.140 --> 00:13:45.210 align:start position:0%
can be executed much more efficiently on
an<00:13:41.440><c> FPGA</c><00:13:42.040><c> or</c><00:13:42.160><c> an</c><00:13:42.400><c> ASIC</c><00:13:43.089><c> in</c><00:13:43.410><c> fact</c><00:13:44.410><c> that's</c>

00:13:45.210 --> 00:13:45.220 align:start position:0%
an FPGA or an ASIC in fact that's
 

00:13:45.220 --> 00:13:48.870 align:start position:0%
an FPGA or an ASIC in fact that's
actually<00:13:45.790><c> what</c><00:13:46.690><c> the</c><00:13:47.350><c> acorn</c><00:13:47.860><c> line</c><00:13:48.040><c> of</c><00:13:48.190><c> FPGAs</c>

00:13:48.870 --> 00:13:48.880 align:start position:0%
actually what the acorn line of FPGAs
 

00:13:48.880 --> 00:13:51.590 align:start position:0%
actually what the acorn line of FPGAs
are<00:13:49.060><c> designed</c><00:13:49.390><c> to</c><00:13:49.630><c> do</c><00:13:49.779><c> offload</c><00:13:50.740><c> catch</c><00:13:51.339><c> hack</c>

00:13:51.590 --> 00:13:51.600 align:start position:0%
are designed to do offload catch hack
 

00:13:51.600 --> 00:13:53.940 align:start position:0%
are designed to do offload catch hack
computations<00:13:52.600><c> to</c><00:13:52.720><c> save</c><00:13:53.020><c> system</c><00:13:53.440><c> power</c><00:13:53.650><c> and</c>

00:13:53.940 --> 00:13:53.950 align:start position:0%
computations to save system power and
 

00:13:53.950 --> 00:13:57.060 align:start position:0%
computations to save system power and
increase<00:13:54.760><c> performance</c><00:13:55.650><c> you</c><00:13:56.650><c> shouldn't</c><00:13:56.950><c> be</c>

00:13:57.060 --> 00:13:57.070 align:start position:0%
increase performance you shouldn't be
 

00:13:57.070 --> 00:13:59.100 align:start position:0%
increase performance you shouldn't be
forced<00:13:57.490><c> into</c><00:13:57.670><c> buying</c><00:13:58.000><c> extensions</c><00:13:58.779><c> to</c><00:13:58.960><c> your</c>

00:13:59.100 --> 00:13:59.110 align:start position:0%
forced into buying extensions to your
 

00:13:59.110 --> 00:14:01.079 align:start position:0%
forced into buying extensions to your
hardware<00:13:59.440><c> just</c><00:14:00.250><c> to</c><00:14:00.400><c> compete</c><00:14:00.760><c> with</c><00:14:00.880><c> other</c>

00:14:01.079 --> 00:14:01.089 align:start position:0%
hardware just to compete with other
 

00:14:01.089 --> 00:14:04.950 align:start position:0%
hardware just to compete with other
hardware<00:14:02.220><c> but</c><00:14:03.220><c> hey</c><00:14:03.370><c> guess</c><00:14:03.850><c> what</c><00:14:04.060><c> Asics</c><00:14:04.660><c> can</c><00:14:04.839><c> do</c>

00:14:04.950 --> 00:14:04.960 align:start position:0%
hardware but hey guess what Asics can do
 

00:14:04.960 --> 00:14:07.860 align:start position:0%
hardware but hey guess what Asics can do
that<00:14:05.110><c> too</c><00:14:05.940><c> profiling</c><00:14:06.940><c> at</c><00:14:07.089><c> hash</c><00:14:07.300><c> with</c><00:14:07.600><c> catch</c>

00:14:07.860 --> 00:14:07.870 align:start position:0%
that too profiling at hash with catch
 

00:14:07.870 --> 00:14:10.050 align:start position:0%
that too profiling at hash with catch
Accra<00:14:08.230><c> moved</c><00:14:08.470><c> shows</c><00:14:09.190><c> us</c><00:14:09.430><c> that</c><00:14:09.580><c> the</c><00:14:09.700><c> compute</c>

00:14:10.050 --> 00:14:10.060 align:start position:0%
Accra moved shows us that the compute
 

00:14:10.060 --> 00:14:11.880 align:start position:0%
Accra moved shows us that the compute
cause<00:14:10.270><c> of</c><00:14:10.480><c> a</c><00:14:10.540><c> car</c><00:14:10.570><c> to</c><00:14:10.960><c> really</c><00:14:11.260><c> only</c><00:14:11.500><c> utilize</c>

00:14:11.880 --> 00:14:11.890 align:start position:0%
cause of a car to really only utilize
 

00:14:11.890 --> 00:14:14.610 align:start position:0%
cause of a car to really only utilize
20%<00:14:12.580><c> of</c><00:14:12.670><c> the</c><00:14:12.730><c> time</c><00:14:12.940><c> allowing</c><00:14:13.900><c> for</c><00:14:14.230><c> 10%</c>

00:14:14.610 --> 00:14:14.620 align:start position:0%
20% of the time allowing for 10%
 

00:14:14.620 --> 00:14:17.250 align:start position:0%
20% of the time allowing for 10%
efficiency<00:14:15.310><c> gain</c><00:14:15.490><c> right</c><00:14:15.730><c> off</c><00:14:15.850><c> the</c><00:14:15.970><c> bat</c><00:14:16.260><c> simile</c>

00:14:17.250 --> 00:14:17.260 align:start position:0%
efficiency gain right off the bat simile
 

00:14:17.260 --> 00:14:20.700 align:start position:0%
efficiency gain right off the bat simile
our<00:14:17.500><c> personal</c><00:14:18.070><c> /</c><00:14:18.790><c> sauce</c><00:14:19.089><c> line</c><00:14:19.750><c> profiling</c><00:14:20.589><c> up</c>

00:14:20.700 --> 00:14:20.710 align:start position:0%
our personal / sauce line profiling up
 

00:14:20.710 --> 00:14:23.880 align:start position:0%
our personal / sauce line profiling up
there<00:14:21.180><c> shows</c><00:14:22.180><c> us</c><00:14:22.390><c> that</c><00:14:22.540><c> more</c><00:14:22.779><c> than</c><00:14:22.959><c> 20%</c><00:14:23.709><c> of</c><00:14:23.770><c> the</c>

00:14:23.880 --> 00:14:23.890 align:start position:0%
there shows us that more than 20% of the
 

00:14:23.890 --> 00:14:26.160 align:start position:0%
there shows us that more than 20% of the
all<00:14:24.010><c> instructions</c><00:14:24.970><c> are</c><00:14:25.120><c> catch</c><00:14:25.330><c> shock</c><00:14:25.540><c> which</c>

00:14:26.160 --> 00:14:26.170 align:start position:0%
all instructions are catch shock which
 

00:14:26.170 --> 00:14:29.340 align:start position:0%
all instructions are catch shock which
can<00:14:26.410><c> all</c><00:14:26.500><c> be</c><00:14:26.529><c> offloaded</c><00:14:27.240><c> that's</c><00:14:28.240><c> a</c><00:14:28.390><c> 30%</c>

00:14:29.340 --> 00:14:29.350 align:start position:0%
can all be offloaded that's a 30%
 

00:14:29.350 --> 00:14:35.579 align:start position:0%
can all be offloaded that's a 30%
performance<00:14:29.920><c> gain</c><00:14:30.130><c> folks</c><00:14:30.870><c> 30%</c><00:14:33.270><c> okay</c><00:14:34.300><c> so</c><00:14:35.290><c> I've</c>

00:14:35.579 --> 00:14:35.589 align:start position:0%
performance gain folks 30% okay so I've
 

00:14:35.589 --> 00:14:36.660 align:start position:0%
performance gain folks 30% okay so I've
talked<00:14:35.830><c> a</c><00:14:35.920><c> little</c><00:14:36.070><c> bit</c><00:14:36.310><c> about</c><00:14:36.459><c> the</c>

00:14:36.660 --> 00:14:36.670 align:start position:0%
talked a little bit about the
 

00:14:36.670 --> 00:14:38.340 align:start position:0%
talked a little bit about the
deficiencies<00:14:37.240><c> about</c><00:14:37.480><c> hash</c><00:14:37.660><c> so</c><00:14:37.900><c> what</c><00:14:38.080><c> the</c><00:14:38.200><c> hell</c>

00:14:38.340 --> 00:14:38.350 align:start position:0%
deficiencies about hash so what the hell
 

00:14:38.350 --> 00:14:39.990 align:start position:0%
deficiencies about hash so what the hell
did<00:14:38.500><c> we</c><00:14:38.560><c> do</c><00:14:38.770><c> about</c><00:14:39.010><c> it</c><00:14:39.190><c> we're</c><00:14:39.520><c> just</c><00:14:39.550><c> gonna</c><00:14:39.730><c> sit</c>

00:14:39.990 --> 00:14:40.000 align:start position:0%
did we do about it we're just gonna sit
 

00:14:40.000 --> 00:14:43.050 align:start position:0%
did we do about it we're just gonna sit
up<00:14:40.060><c> here</c><00:14:40.240><c> in</c><00:14:40.300><c> trash</c><00:14:40.570><c> at</c><00:14:40.750><c> hash</c><00:14:40.959><c> no</c><00:14:41.640><c> we</c><00:14:42.640><c> went</c><00:14:42.850><c> and</c>

00:14:43.050 --> 00:14:43.060 align:start position:0%
up here in trash at hash no we went and
 

00:14:43.060 --> 00:14:47.190 align:start position:0%
up here in trash at hash no we went and
kind<00:14:43.570><c> of</c><00:14:43.690><c> fixed</c><00:14:43.930><c> it</c><00:14:44.050><c> so</c><00:14:45.330><c> that's</c><00:14:46.330><c> a</c><00:14:46.480><c> pro</c><00:14:46.839><c> growl</c>

00:14:47.190 --> 00:14:47.200 align:start position:0%
kind of fixed it so that's a pro growl
 

00:14:47.200 --> 00:14:49.829 align:start position:0%
kind of fixed it so that's a pro growl
spaghetti<00:14:47.800><c> and</c><00:14:47.950><c> Lego</c><00:14:48.279><c> this</c><00:14:49.209><c> was</c><00:14:49.420><c> made</c><00:14:49.630><c> on</c><00:14:49.810><c> a</c>

00:14:49.829 --> 00:14:49.839 align:start position:0%
spaghetti and Lego this was made on a
 

00:14:49.839 --> 00:14:51.780 align:start position:0%
spaghetti and Lego this was made on a
plane<00:14:50.200><c> while</c><00:14:50.470><c> I</c><00:14:50.529><c> was</c><00:14:50.770><c> slightly</c><00:14:51.040><c> drunk</c><00:14:51.490><c> so</c>

00:14:51.780 --> 00:14:51.790 align:start position:0%
plane while I was slightly drunk so
 

00:14:51.790 --> 00:14:54.840 align:start position:0%
plane while I was slightly drunk so
excuse<00:14:52.270><c> the</c><00:14:52.300><c> mess</c><00:14:53.130><c> there</c><00:14:54.130><c> are</c><00:14:54.250><c> five</c><00:14:54.550><c> major</c>

00:14:54.840 --> 00:14:54.850 align:start position:0%
excuse the mess there are five major
 

00:14:54.850 --> 00:14:57.930 align:start position:0%
excuse the mess there are five major
changes<00:14:55.420><c> here</c><00:14:55.660><c> see</c><00:14:56.650><c> we</c><00:14:56.770><c> changed</c><00:14:57.100><c> cat</c><00:14:57.700><c> jack</c>

00:14:57.930 --> 00:14:57.940 align:start position:0%
changes here see we changed cat jack
 

00:14:57.940 --> 00:15:01.560 align:start position:0%
changes here see we changed cat jack
from<00:14:58.270><c> F</c><00:14:58.510><c> 1600</c><00:14:59.440><c> to</c><00:14:59.560><c> f800</c><00:15:00.279><c> I'll</c><00:15:01.000><c> go</c><00:15:01.209><c> into</c><00:15:01.420><c> why</c>

00:15:01.560 --> 00:15:01.570 align:start position:0%
from F 1600 to f800 I'll go into why
 

00:15:01.570 --> 00:15:03.870 align:start position:0%
from F 1600 to f800 I'll go into why
that<00:15:01.600><c> was</c><00:15:01.930><c> really</c><00:15:02.200><c> important</c><00:15:02.620><c> in</c><00:15:02.680><c> a</c><00:15:02.740><c> moment</c><00:15:02.920><c> we</c>

00:15:03.870 --> 00:15:03.880 align:start position:0%
that was really important in a moment we
 

00:15:03.880 --> 00:15:05.820 align:start position:0%
that was really important in a moment we
increased<00:15:04.240><c> the</c><00:15:04.390><c> mix</c><00:15:04.600><c> state</c><00:15:04.900><c> we</c><00:15:05.470><c> added</c><00:15:05.740><c> a</c>

00:15:05.820 --> 00:15:05.830 align:start position:0%
increased the mix state we added a
 

00:15:05.830 --> 00:15:07.790 align:start position:0%
increased the mix state we added a
random<00:15:06.220><c> sequence</c><00:15:06.430><c> of</c><00:15:06.760><c> math</c><00:15:06.940><c> in</c><00:15:07.240><c> the</c><00:15:07.330><c> main</c><00:15:07.510><c> loop</c>

00:15:07.790 --> 00:15:07.800 align:start position:0%
random sequence of math in the main loop
 

00:15:07.800 --> 00:15:10.890 align:start position:0%
random sequence of math in the main loop
we<00:15:08.800><c> added</c><00:15:09.070><c> reads</c><00:15:09.370><c> from</c><00:15:09.670><c> a</c><00:15:09.820><c> small</c><00:15:10.089><c> low</c><00:15:10.300><c> latency</c>

00:15:10.890 --> 00:15:10.900 align:start position:0%
we added reads from a small low latency
 

00:15:10.900 --> 00:15:13.710 align:start position:0%
we added reads from a small low latency
cache<00:15:11.709><c> that</c><00:15:12.010><c> supports</c><00:15:12.430><c> random</c><00:15:12.790><c> addresses</c><00:15:12.970><c> and</c>

00:15:13.710 --> 00:15:13.720 align:start position:0%
cache that supports random addresses and
 

00:15:13.720 --> 00:15:16.860 align:start position:0%
cache that supports random addresses and
we<00:15:14.200><c> increased</c><00:15:14.560><c> the</c><00:15:14.709><c> DRM</c><00:15:15.100><c> read</c><00:15:15.670><c> from</c><00:15:16.060><c> 128</c><00:15:16.510><c> bytes</c>

00:15:16.860 --> 00:15:16.870 align:start position:0%
we increased the DRM read from 128 bytes
 

00:15:16.870 --> 00:15:21.210 align:start position:0%
we increased the DRM read from 128 bytes
to<00:15:17.620><c> 256</c><00:15:18.310><c> bytes</c><00:15:18.550><c> and</c><00:15:19.709><c> this</c><00:15:20.709><c> is</c><00:15:20.860><c> what</c><00:15:21.010><c> it</c><00:15:21.100><c> all</c>

00:15:21.210 --> 00:15:21.220 align:start position:0%
to 256 bytes and this is what it all
 

00:15:21.220 --> 00:15:26.430 align:start position:0%
to 256 bytes and this is what it all
became<00:15:23.430><c> see</c><00:15:24.430><c> the</c><00:15:25.120><c> most</c><00:15:25.420><c> efficient</c><00:15:26.290><c> and</c>

00:15:26.430 --> 00:15:26.440 align:start position:0%
became see the most efficient and
 

00:15:26.440 --> 00:15:28.710 align:start position:0%
became see the most efficient and
effective<00:15:26.740><c> algorithms</c><00:15:27.700><c> are</c><00:15:28.240><c> the</c><00:15:28.450><c> simplest</c>

00:15:28.710 --> 00:15:28.720 align:start position:0%
effective algorithms are the simplest
 

00:15:28.720 --> 00:15:31.769 align:start position:0%
effective algorithms are the simplest
and<00:15:29.500><c> any</c><00:15:29.800><c> ASIC</c><00:15:30.250><c> designer</c><00:15:30.579><c> will</c><00:15:30.760><c> tell</c><00:15:30.910><c> you</c><00:15:31.030><c> that</c>

00:15:31.769 --> 00:15:31.779 align:start position:0%
and any ASIC designer will tell you that
 

00:15:31.779 --> 00:15:33.629 align:start position:0%
and any ASIC designer will tell you that
complexity<00:15:32.230><c> leads</c><00:15:32.649><c> to</c><00:15:32.920><c> weakness</c><00:15:33.100><c> in</c>

00:15:33.629 --> 00:15:33.639 align:start position:0%
complexity leads to weakness in
 

00:15:33.639 --> 00:15:37.679 align:start position:0%
complexity leads to weakness in
proof-of-work<00:15:35.160><c> okay</c><00:15:36.160><c> so</c><00:15:36.790><c> why</c><00:15:36.939><c> these</c><00:15:37.149><c> changes</c>

00:15:37.679 --> 00:15:37.689 align:start position:0%
proof-of-work okay so why these changes
 

00:15:37.689 --> 00:15:40.829 align:start position:0%
proof-of-work okay so why these changes
well<00:15:38.680><c> let's</c><00:15:38.980><c> stop</c><00:15:39.220><c> with</c><00:15:39.639><c> cat</c><00:15:40.120><c> check</c><00:15:40.360><c> and</c><00:15:40.600><c> dear</c>

00:15:40.829 --> 00:15:40.839 align:start position:0%
well let's stop with cat check and dear
 

00:15:40.839 --> 00:15:44.040 align:start position:0%
well let's stop with cat check and dear
M<00:15:40.990><c> read</c><00:15:41.819><c> catch</c><00:15:42.819><c> hack</c><00:15:42.999><c> hashes</c><00:15:43.480><c> used</c><00:15:43.839><c> at</c><00:15:43.959><c> the</c>

00:15:44.040 --> 00:15:44.050 align:start position:0%
M read catch hack hashes used at the
 

00:15:44.050 --> 00:15:45.900 align:start position:0%
M read catch hack hashes used at the
start<00:15:44.259><c> and</c><00:15:44.470><c> end</c><00:15:44.649><c> of</c><00:15:44.740><c> it</c><00:15:44.860><c> hash</c><00:15:45.100><c> get</c><00:15:45.550><c> reduced</c>

00:15:45.900 --> 00:15:45.910 align:start position:0%
start and end of it hash get reduced
 

00:15:45.910 --> 00:15:50.220 align:start position:0%
start and end of it hash get reduced
from<00:15:46.120><c> F</c><00:15:46.329><c> 1600</c><00:15:47.170><c> with</c><00:15:47.560><c> a</c><00:15:47.589><c> ward</c><00:15:47.889><c> size</c><00:15:48.129><c> of</c><00:15:48.339><c> 64</c><00:15:48.730><c> f</c><00:15:49.569><c> 800</c>

00:15:50.220 --> 00:15:50.230 align:start position:0%
from F 1600 with a ward size of 64 f 800
 

00:15:50.230 --> 00:15:52.590 align:start position:0%
from F 1600 with a ward size of 64 f 800
with<00:15:50.379><c> a</c><00:15:50.410><c> word</c><00:15:50.620><c> size</c><00:15:50.889><c> of</c><00:15:51.069><c> 32</c><00:15:51.370><c> why</c>

00:15:52.590 --> 00:15:52.600 align:start position:0%
with a word size of 32 why
 

00:15:52.600 --> 00:15:55.799 align:start position:0%
with a word size of 32 why
well<00:15:53.350><c> GPUs</c><00:15:54.069><c> actually</c><00:15:54.430><c> have</c><00:15:54.550><c> 32-bit</c><00:15:55.269><c> data</c><00:15:55.300><c> pods</c>

00:15:55.799 --> 00:15:55.809 align:start position:0%
well GPUs actually have 32-bit data pods
 

00:15:55.809 --> 00:15:59.220 align:start position:0%
well GPUs actually have 32-bit data pods
and<00:15:56.199><c> F</c><00:15:57.129><c> 1600</c><00:15:58.120><c> requires</c><00:15:58.480><c> twice</c><00:15:58.839><c> as</c><00:15:59.079><c> many</c>

00:15:59.220 --> 00:15:59.230 align:start position:0%
and F 1600 requires twice as many
 

00:15:59.230 --> 00:16:01.019 align:start position:0%
and F 1600 requires twice as many
instructions<00:15:59.949><c> to</c><00:16:00.069><c> execute</c><00:16:00.550><c> on</c><00:16:00.639><c> a</c><00:16:00.699><c> graphic</c>

00:16:01.019 --> 00:16:01.029 align:start position:0%
instructions to execute on a graphic
 

00:16:01.029 --> 00:16:04.470 align:start position:0%
instructions to execute on a graphic
card<00:16:01.290><c> it's</c><00:16:02.290><c> it's</c><00:16:02.649><c> wasted</c><00:16:03.160><c> cycles</c><00:16:03.370><c> yet</c><00:16:04.209><c> hash</c>

00:16:04.470 --> 00:16:04.480 align:start position:0%
card it's it's wasted cycles yet hash
 

00:16:04.480 --> 00:16:07.019 align:start position:0%
card it's it's wasted cycles yet hash
does<00:16:04.749><c> not</c><00:16:05.019><c> use</c><00:16:05.410><c> the</c><00:16:05.620><c> extra</c><00:16:06.040><c> data</c><00:16:06.249><c> processed</c><00:16:06.850><c> by</c>

00:16:07.019 --> 00:16:07.029 align:start position:0%
does not use the extra data processed by
 

00:16:07.029 --> 00:16:10.139 align:start position:0%
does not use the extra data processed by
F<00:16:07.180><c> 1600</c><00:16:07.990><c> so</c><00:16:08.499><c> reducing</c><00:16:09.399><c> this</c><00:16:09.519><c> amount</c><00:16:09.819><c> of</c><00:16:09.910><c> data</c>

00:16:10.139 --> 00:16:10.149 align:start position:0%
F 1600 so reducing this amount of data
 

00:16:10.149 --> 00:16:11.999 align:start position:0%
F 1600 so reducing this amount of data
has<00:16:10.480><c> no</c><00:16:10.779><c> effect</c><00:16:11.170><c> on</c><00:16:11.290><c> the</c><00:16:11.410><c> security</c><00:16:11.829><c> of</c><00:16:11.860><c> the</c>

00:16:11.999 --> 00:16:12.009 align:start position:0%
has no effect on the security of the
 

00:16:12.009 --> 00:16:15.660 align:start position:0%
has no effect on the security of the
algorithm<00:16:12.540><c> but</c><00:16:13.540><c> what</c><00:16:13.720><c> it</c><00:16:13.839><c> does</c><00:16:14.050><c> do</c><00:16:14.350><c> is</c><00:16:14.670><c> reduces</c>

00:16:15.660 --> 00:16:15.670 align:start position:0%
algorithm but what it does do is reduces
 

00:16:15.670 --> 00:16:18.090 align:start position:0%
algorithm but what it does do is reduces
any<00:16:15.939><c> possible</c><00:16:16.899><c> efficiency</c><00:16:17.499><c> gains</c><00:16:17.740><c> from</c>

00:16:18.090 --> 00:16:18.100 align:start position:0%
any possible efficiency gains from
 

00:16:18.100 --> 00:16:20.129 align:start position:0%
any possible efficiency gains from
offloading<00:16:18.819><c> the</c><00:16:19.029><c> kept</c><00:16:19.209><c> track</c><00:16:19.420><c> computations</c>

00:16:20.129 --> 00:16:20.139 align:start position:0%
offloading the kept track computations
 

00:16:20.139 --> 00:16:24.239 align:start position:0%
offloading the kept track computations
from<00:16:20.920><c> the</c><00:16:21.040><c> GPU</c><00:16:22.139><c> that</c><00:16:23.139><c> eliminates</c><00:16:23.649><c> your</c><00:16:23.829><c> a</c><00:16:23.889><c> 6</c>

00:16:24.239 --> 00:16:24.249 align:start position:0%
from the GPU that eliminates your a 6
 

00:16:24.249 --> 00:16:27.540 align:start position:0%
from the GPU that eliminates your a 6
speed<00:16:24.370><c> up</c><00:16:24.610><c> that</c><00:16:25.120><c> eliminates</c><00:16:25.629><c> your</c><00:16:26.069><c> your</c><00:16:27.069><c> FPGA</c>

00:16:27.540 --> 00:16:27.550 align:start position:0%
speed up that eliminates your your FPGA
 

00:16:27.550 --> 00:16:29.040 align:start position:0%
speed up that eliminates your your FPGA
speed<00:16:27.910><c> up</c><00:16:28.029><c> and</c><00:16:28.269><c> I</c><00:16:28.360><c> should</c><00:16:28.509><c> have</c><00:16:28.569><c> just</c><00:16:28.749><c> put</c><00:16:28.930><c> that</c>

00:16:29.040 --> 00:16:29.050 align:start position:0%
speed up and I should have just put that
 

00:16:29.050 --> 00:16:29.400 align:start position:0%
speed up and I should have just put that
out<00:16:29.110><c> there</c>

00:16:29.400 --> 00:16:29.410 align:start position:0%
out there
 

00:16:29.410 --> 00:16:36.929 align:start position:0%
out there
oops<00:16:29.759><c> so</c><00:16:30.759><c> by</c><00:16:30.939><c> by</c><00:16:31.120><c> 30%</c><00:16:32.129><c> performance</c><00:16:33.129><c> again</c><00:16:35.939><c> we</c>

00:16:36.929 --> 00:16:36.939 align:start position:0%
oops so by by 30% performance again we
 

00:16:36.939 --> 00:16:38.850 align:start position:0%
oops so by by 30% performance again we
leave<00:16:37.180><c> the</c><00:16:37.329><c> number</c><00:16:37.600><c> of</c><00:16:37.689><c> accesses</c><00:16:38.199><c> to</c><00:16:38.379><c> the</c><00:16:38.589><c> dag</c>

00:16:38.850 --> 00:16:38.860 align:start position:0%
leave the number of accesses to the dag
 

00:16:38.860 --> 00:16:40.350 align:start position:0%
leave the number of accesses to the dag
which<00:16:39.279><c> is</c><00:16:39.430><c> also</c><00:16:39.579><c> the</c><00:16:39.730><c> number</c><00:16:40.029><c> of</c><00:16:40.059><c> the</c><00:16:40.149><c> loop</c>

00:16:40.350 --> 00:16:40.360 align:start position:0%
which is also the number of the loop
 

00:16:40.360 --> 00:16:42.869 align:start position:0%
which is also the number of the loop
iterations<00:16:40.930><c> unchanged</c><00:16:41.680><c> from</c><00:16:41.740><c> at</c><00:16:41.949><c> hashes</c><00:16:42.309><c> 64</c>

00:16:42.869 --> 00:16:42.879 align:start position:0%
iterations unchanged from at hashes 64
 

00:16:42.879 --> 00:16:44.579 align:start position:0%
iterations unchanged from at hashes 64
we<00:16:43.269><c> don't</c><00:16:43.449><c> need</c><00:16:43.540><c> to</c><00:16:43.689><c> touch</c><00:16:43.870><c> that</c><00:16:44.110><c> don't</c><00:16:44.500><c> need</c>

00:16:44.579 --> 00:16:44.589 align:start position:0%
we don't need to touch that don't need
 

00:16:44.589 --> 00:16:46.679 align:start position:0%
we don't need to touch that don't need
to<00:16:44.709><c> dick</c><00:16:44.829><c> around</c><00:16:44.860><c> with</c><00:16:45.189><c> it</c><00:16:45.399><c> but</c><00:16:46.120><c> the</c><00:16:46.209><c> dag</c><00:16:46.389><c> reads</c>

00:16:46.679 --> 00:16:46.689 align:start position:0%
to dick around with it but the dag reads
 

00:16:46.689 --> 00:16:50.490 align:start position:0%
to dick around with it but the dag reads
size<00:16:47.100><c> we</c><00:16:48.100><c> increase</c><00:16:48.459><c> from</c><00:16:48.639><c> 128</c><00:16:49.269><c> bytes</c><00:16:49.509><c> to</c><00:16:49.839><c> 256</c>

00:16:50.490 --> 00:16:50.500 align:start position:0%
size we increase from 128 bytes to 256
 

00:16:50.500 --> 00:16:52.920 align:start position:0%
size we increase from 128 bytes to 256
bytes<00:16:50.740><c> this</c><00:16:51.699><c> allows</c><00:16:52.000><c> prog</c><00:16:52.360><c> cow</c><00:16:52.569><c> to</c><00:16:52.899><c> be</c>

00:16:52.920 --> 00:16:52.930 align:start position:0%
bytes this allows prog cow to be
 

00:16:52.930 --> 00:16:55.199 align:start position:0%
bytes this allows prog cow to be
efficiently<00:16:53.439><c> executed</c><00:16:54.129><c> on</c><00:16:54.250><c> all</c><00:16:54.550><c> current</c><00:16:55.120><c> and</c>

00:16:55.199 --> 00:16:55.209 align:start position:0%
efficiently executed on all current and
 

00:16:55.209 --> 00:16:57.569 align:start position:0%
efficiently executed on all current and
hopefully<00:16:55.809><c> near</c><00:16:56.079><c> future</c><00:16:56.410><c> DRAM</c><00:16:56.949><c> technologies</c>

00:16:57.569 --> 00:16:57.579 align:start position:0%
hopefully near future DRAM technologies
 

00:16:57.579 --> 00:17:00.840 align:start position:0%
hopefully near future DRAM technologies
without<00:16:58.120><c> requiring</c><00:16:58.720><c> overclocking</c><00:16:59.850><c> that</c>

00:17:00.840 --> 00:17:00.850 align:start position:0%
without requiring overclocking that
 

00:17:00.850 --> 00:17:02.819 align:start position:0%
without requiring overclocking that
means<00:17:01.089><c> there's</c><00:17:01.420><c> no</c><00:17:01.600><c> more</c><00:17:01.629><c> no</c><00:17:02.290><c> more</c><00:17:02.470><c> system</c>

00:17:02.819 --> 00:17:02.829 align:start position:0%
means there's no more no more system
 

00:17:02.829 --> 00:17:04.980 align:start position:0%
means there's no more no more system
tuning<00:17:03.220><c> it</c><00:17:03.699><c> just</c><00:17:03.939><c> works</c><00:17:04.120><c> off</c><00:17:04.329><c> the</c><00:17:04.480><c> bat</c><00:17:04.630><c> fully</c>

00:17:04.980 --> 00:17:04.990 align:start position:0%
tuning it just works off the bat fully
 

00:17:04.990 --> 00:17:12.799 align:start position:0%
tuning it just works off the bat fully
tuned<00:17:05.319><c> fully</c><00:17:05.620><c> optimized</c><00:17:10.740><c> now</c><00:17:11.740><c> for</c><00:17:12.189><c> this</c><00:17:12.309><c> part</c>

00:17:12.799 --> 00:17:12.809 align:start position:0%
tuned fully optimized now for this part
 

00:17:12.809 --> 00:17:16.319 align:start position:0%
tuned fully optimized now for this part
see<00:17:13.809><c> as</c><00:17:14.110><c> I</c><00:17:14.439><c> said</c><00:17:14.500><c> GPU</c><00:17:15.370><c> cores</c><00:17:15.669><c> are</c><00:17:15.970><c> most</c>

00:17:16.319 --> 00:17:16.329 align:start position:0%
see as I said GPU cores are most
 

00:17:16.329 --> 00:17:18.689 align:start position:0%
see as I said GPU cores are most
efficient<00:17:16.750><c> when</c><00:17:17.020><c> they're</c><00:17:17.199><c> doing</c><00:17:17.500><c> 16</c><00:17:18.280><c> byte</c><00:17:18.490><c> or</c>

00:17:18.689 --> 00:17:18.699 align:start position:0%
efficient when they're doing 16 byte or
 

00:17:18.699 --> 00:17:22.130 align:start position:0%
efficient when they're doing 16 byte or
forward<00:17:19.270><c> loads</c><00:17:19.569><c> and</c><00:17:19.990><c> in</c><00:17:20.949><c> order</c><00:17:21.220><c> to</c><00:17:21.250><c> have</c><00:17:21.520><c> our</c>

00:17:22.130 --> 00:17:22.140 align:start position:0%
forward loads and in order to have our
 

00:17:22.140 --> 00:17:26.000 align:start position:0%
forward loads and in order to have our
256<00:17:23.140><c> byte</c><00:17:23.319><c> loads</c><00:17:23.589><c> we</c><00:17:23.829><c> have</c><00:17:23.980><c> to</c><00:17:24.100><c> do</c><00:17:24.480><c> 256</c><00:17:25.480><c> bytes</c>

00:17:26.000 --> 00:17:26.010 align:start position:0%
256 byte loads we have to do 256 bytes
 

00:17:26.010 --> 00:17:29.220 align:start position:0%
256 byte loads we have to do 256 bytes
by<00:17:27.010><c> 16</c><00:17:27.429><c> bytes</c><00:17:27.640><c> per</c><00:17:27.850><c> Lane</c><00:17:28.059><c> which</c><00:17:28.720><c> ends</c><00:17:28.990><c> up</c><00:17:29.080><c> with</c>

00:17:29.220 --> 00:17:29.230 align:start position:0%
by 16 bytes per Lane which ends up with
 

00:17:29.230 --> 00:17:32.720 align:start position:0%
by 16 bytes per Lane which ends up with
16<00:17:29.649><c> lanes</c><00:17:29.860><c> working</c><00:17:30.370><c> together</c><00:17:30.580><c> in</c><00:17:30.850><c> parallel</c>

00:17:32.720 --> 00:17:32.730 align:start position:0%
16 lanes working together in parallel
 

00:17:32.730 --> 00:17:35.580 align:start position:0%
16 lanes working together in parallel
yeah<00:17:33.760><c> if</c><00:17:34.030><c> I'm</c><00:17:34.330><c> getting</c><00:17:34.450><c> too</c><00:17:34.720><c> technical</c><00:17:34.899><c> let</c><00:17:35.470><c> me</c>

00:17:35.580 --> 00:17:35.590 align:start position:0%
yeah if I'm getting too technical let me
 

00:17:35.590 --> 00:17:37.830 align:start position:0%
yeah if I'm getting too technical let me
know<00:17:35.820><c> when</c><00:17:36.820><c> we</c><00:17:36.909><c> work</c><00:17:37.090><c> back</c><00:17:37.330><c> from</c><00:17:37.510><c> the</c><00:17:37.630><c> frame</c>

00:17:37.830 --> 00:17:37.840 align:start position:0%
know when we work back from the frame
 

00:17:37.840 --> 00:17:40.919 align:start position:0%
know when we work back from the frame
buffer<00:17:38.049><c> interface</c><00:17:38.590><c> GPUs</c><00:17:39.490><c> have</c><00:17:39.520><c> an</c><00:17:40.090><c> l2</c><00:17:40.480><c> cache</c>

00:17:40.919 --> 00:17:40.929 align:start position:0%
buffer interface GPUs have an l2 cache
 

00:17:40.929 --> 00:17:44.279 align:start position:0%
buffer interface GPUs have an l2 cache
an<00:17:41.289><c> l1</c><00:17:41.710><c> cache</c><00:17:41.980><c> and</c><00:17:42.340><c> a</c><00:17:42.789><c> texture</c><00:17:43.179><c> cache</c><00:17:43.360><c> we</c><00:17:44.110><c> use</c>

00:17:44.279 --> 00:17:44.289 align:start position:0%
an l1 cache and a texture cache we use
 

00:17:44.289 --> 00:17:45.300 align:start position:0%
an l1 cache and a texture cache we use
these<00:17:44.500><c> things</c><00:17:44.559><c> for</c>

00:17:45.300 --> 00:17:45.310 align:start position:0%
these things for
 

00:17:45.310 --> 00:17:48.870 align:start position:0%
these things for
graphics<00:17:45.760><c> and</c><00:17:46.030><c> virtualization</c><00:17:47.400><c> we</c><00:17:48.400><c> haven't</c>

00:17:48.870 --> 00:17:48.880 align:start position:0%
graphics and virtualization we haven't
 

00:17:48.880 --> 00:17:51.390 align:start position:0%
graphics and virtualization we haven't
discovered<00:17:49.300><c> a</c><00:17:49.540><c> way</c><00:17:49.750><c> or</c><00:17:50.110><c> a</c><00:17:50.170><c> method</c><00:17:51.010><c> of</c><00:17:51.100><c> making</c>

00:17:51.390 --> 00:17:51.400 align:start position:0%
discovered a way or a method of making
 

00:17:51.400 --> 00:17:53.880 align:start position:0%
discovered a way or a method of making
use<00:17:51.790><c> of</c><00:17:51.820><c> these</c><00:17:52.090><c> cases</c><00:17:52.420><c> that's</c><00:17:53.110><c> both</c><00:17:53.380><c> efficient</c>

00:17:53.880 --> 00:17:53.890 align:start position:0%
use of these cases that's both efficient
 

00:17:53.890 --> 00:17:56.640 align:start position:0%
use of these cases that's both efficient
and<00:17:54.040><c> portable</c><00:17:54.490><c> across</c><00:17:54.700><c> GPU</c><00:17:55.330><c> architectures</c><00:17:56.020><c> so</c>

00:17:56.640 --> 00:17:56.650 align:start position:0%
and portable across GPU architectures so
 

00:17:56.650 --> 00:17:58.980 align:start position:0%
and portable across GPU architectures so
we<00:17:56.770><c> leave</c><00:17:56.980><c> those</c><00:17:57.160><c> alone</c><00:17:57.390><c> that</c><00:17:58.390><c> does</c><00:17:58.630><c> allow</c><00:17:58.960><c> for</c>

00:17:58.980 --> 00:17:58.990 align:start position:0%
we leave those alone that does allow for
 

00:17:58.990 --> 00:18:01.320 align:start position:0%
we leave those alone that does allow for
a<00:17:59.320><c> potential</c><00:18:00.010><c> efficiency</c><00:18:00.490><c> gain</c><00:18:00.670><c> in</c><00:18:00.910><c> a</c><00:18:01.030><c> fixed</c>

00:18:01.320 --> 00:18:01.330 align:start position:0%
a potential efficiency gain in a fixed
 

00:18:01.330 --> 00:18:02.670 align:start position:0%
a potential efficiency gain in a fixed
function<00:18:01.480><c> ASIC</c><00:18:02.050><c> where</c><00:18:02.200><c> you</c><00:18:02.290><c> could</c><00:18:02.440><c> shave</c>

00:18:02.670 --> 00:18:02.680 align:start position:0%
function ASIC where you could shave
 

00:18:02.680 --> 00:18:04.440 align:start position:0%
function ASIC where you could shave
those<00:18:02.890><c> off</c><00:18:03.100><c> and</c><00:18:03.370><c> we'll</c><00:18:03.760><c> touch</c><00:18:03.910><c> in</c><00:18:04.120><c> that</c><00:18:04.240><c> on</c><00:18:04.360><c> the</c>

00:18:04.440 --> 00:18:04.450 align:start position:0%
those off and we'll touch in that on the
 

00:18:04.450 --> 00:18:07.380 align:start position:0%
those off and we'll touch in that on the
breakout<00:18:04.810><c> session</c><00:18:05.430><c> so</c><00:18:06.430><c> propel</c><00:18:06.940><c> doesn't</c>

00:18:07.380 --> 00:18:07.390 align:start position:0%
breakout session so propel doesn't
 

00:18:07.390 --> 00:18:09.600 align:start position:0%
breakout session so propel doesn't
target<00:18:07.570><c> those</c><00:18:08.290><c> cases</c><00:18:08.830><c> it</c><00:18:09.040><c> simply</c><00:18:09.310><c> passes</c>

00:18:09.600 --> 00:18:09.610 align:start position:0%
target those cases it simply passes
 

00:18:09.610 --> 00:18:12.450 align:start position:0%
target those cases it simply passes
through<00:18:10.090><c> the</c><00:18:10.210><c> dag</c><00:18:10.390><c> load</c><00:18:10.660><c> but</c><00:18:11.530><c> next</c><00:18:12.100><c> to</c><00:18:12.370><c> the</c>

00:18:12.450 --> 00:18:12.460 align:start position:0%
through the dag load but next to the
 

00:18:12.460 --> 00:18:14.850 align:start position:0%
through the dag load but next to the
cases<00:18:12.910><c> we</c><00:18:13.450><c> have</c><00:18:13.630><c> something</c><00:18:14.110><c> that</c><00:18:14.260><c> I</c><00:18:14.590><c> love</c>

00:18:14.850 --> 00:18:14.860 align:start position:0%
cases we have something that I love
 

00:18:14.860 --> 00:18:19.080 align:start position:0%
cases we have something that I love
which<00:18:15.610><c> is</c><00:18:15.640><c> called</c><00:18:16.650><c> scratchpad</c><00:18:17.650><c> memory</c><00:18:17.940><c> so</c><00:18:18.940><c> let</c>

00:18:19.080 --> 00:18:19.090 align:start position:0%
which is called scratchpad memory so let
 

00:18:19.090 --> 00:18:19.950 align:start position:0%
which is called scratchpad memory so let
me<00:18:19.180><c> tell</c><00:18:19.300><c> you</c><00:18:19.420><c> a</c><00:18:19.480><c> little</c><00:18:19.750><c> bit</c><00:18:19.840><c> about</c>

00:18:19.950 --> 00:18:19.960 align:start position:0%
me tell you a little bit about
 

00:18:19.960 --> 00:18:22.130 align:start position:0%
me tell you a little bit about
scratchpad<00:18:20.380><c> memory</c><00:18:20.620><c> it's</c><00:18:21.490><c> this</c><00:18:21.730><c> high</c><00:18:21.970><c> speed</c>

00:18:22.130 --> 00:18:22.140 align:start position:0%
scratchpad memory it's this high speed
 

00:18:22.140 --> 00:18:24.420 align:start position:0%
scratchpad memory it's this high speed
internal<00:18:23.140><c> memory</c><00:18:23.530><c> used</c><00:18:23.740><c> for</c><00:18:23.980><c> temporary</c>

00:18:24.420 --> 00:18:24.430 align:start position:0%
internal memory used for temporary
 

00:18:24.430 --> 00:18:27.180 align:start position:0%
internal memory used for temporary
storage<00:18:24.850><c> of</c><00:18:25.240><c> calculations</c><00:18:25.900><c> data</c><00:18:26.230><c> other</c><00:18:26.860><c> works</c>

00:18:27.180 --> 00:18:27.190 align:start position:0%
storage of calculations data other works
 

00:18:27.190 --> 00:18:27.840 align:start position:0%
storage of calculations data other works
in<00:18:27.400><c> progress</c>

00:18:27.840 --> 00:18:27.850 align:start position:0%
in progress
 

00:18:27.850 --> 00:18:30.570 align:start position:0%
in progress
think<00:18:28.330><c> of</c><00:18:28.420><c> it</c><00:18:28.510><c> like</c><00:18:28.600><c> your</c><00:18:28.780><c> brain</c><00:18:29.430><c> Nvidia</c><00:18:30.430><c> and</c>

00:18:30.570 --> 00:18:30.580 align:start position:0%
think of it like your brain Nvidia and
 

00:18:30.580 --> 00:18:32.580 align:start position:0%
think of it like your brain Nvidia and
q2<00:18:30.850><c> referred</c><00:18:31.150><c> to</c><00:18:31.270><c> this</c><00:18:31.360><c> as</c><00:18:31.570><c> shared</c><00:18:31.840><c> memory</c><00:18:32.290><c> and</c>

00:18:32.580 --> 00:18:32.590 align:start position:0%
q2 referred to this as shared memory and
 

00:18:32.590 --> 00:18:35.400 align:start position:0%
q2 referred to this as shared memory and
AMD<00:18:33.490><c> and</c><00:18:33.730><c> OpenCL</c><00:18:34.150><c> refer</c><00:18:34.630><c> to</c><00:18:34.780><c> this</c><00:18:34.900><c> as</c><00:18:35.080><c> local</c>

00:18:35.400 --> 00:18:35.410 align:start position:0%
AMD and OpenCL refer to this as local
 

00:18:35.410 --> 00:18:37.770 align:start position:0%
AMD and OpenCL refer to this as local
memory<00:18:35.620><c> the</c><00:18:36.580><c> defining</c><00:18:37.090><c> feature</c><00:18:37.360><c> of</c><00:18:37.540><c> this</c>

00:18:37.770 --> 00:18:37.780 align:start position:0%
memory the defining feature of this
 

00:18:37.780 --> 00:18:40.110 align:start position:0%
memory the defining feature of this
memory<00:18:38.050><c> compared</c><00:18:38.770><c> to</c><00:18:38.890><c> DRAM</c><00:18:39.280><c> is</c><00:18:39.460><c> that</c><00:18:39.970><c> it's</c>

00:18:40.110 --> 00:18:40.120 align:start position:0%
memory compared to DRAM is that it's
 

00:18:40.120 --> 00:18:42.510 align:start position:0%
memory compared to DRAM is that it's
highly<00:18:40.540><c> banked</c><00:18:40.840><c> with</c><00:18:40.930><c> a</c><00:18:40.990><c> large</c><00:18:41.260><c> crossbar</c><00:18:41.830><c> that</c>

00:18:42.510 --> 00:18:42.520 align:start position:0%
highly banked with a large crossbar that
 

00:18:42.520 --> 00:18:44.550 align:start position:0%
highly banked with a large crossbar that
means<00:18:42.730><c> it</c><00:18:42.880><c> allows</c><00:18:42.970><c> accesses</c><00:18:43.870><c> to</c><00:18:44.080><c> random</c>

00:18:44.550 --> 00:18:44.560 align:start position:0%
means it allows accesses to random
 

00:18:44.560 --> 00:18:46.860 align:start position:0%
means it allows accesses to random
addresses<00:18:44.800><c> to</c><00:18:45.250><c> be</c><00:18:45.370><c> processed</c><00:18:45.880><c> really</c><00:18:46.390><c> quickly</c>

00:18:46.860 --> 00:18:46.870 align:start position:0%
addresses to be processed really quickly
 

00:18:46.870 --> 00:18:48.750 align:start position:0%
addresses to be processed really quickly
something<00:18:47.530><c> that</c><00:18:47.650><c> fixed</c><00:18:48.010><c> function</c><00:18:48.190><c> Hardware</c>

00:18:48.750 --> 00:18:48.760 align:start position:0%
something that fixed function Hardware
 

00:18:48.760 --> 00:18:51.060 align:start position:0%
something that fixed function Hardware
it<00:18:48.850><c> doesn't</c><00:18:49.120><c> do</c><00:18:49.210><c> too</c><00:18:49.360><c> well</c><00:18:49.390><c> with</c><00:18:50.010><c> Nvidia</c><00:18:51.010><c> is</c>

00:18:51.060 --> 00:18:51.070 align:start position:0%
it doesn't do too well with Nvidia is
 

00:18:51.070 --> 00:18:53.520 align:start position:0%
it doesn't do too well with Nvidia is
Pascal<00:18:51.580><c> outline</c><00:18:52.150><c> supports</c><00:18:52.810><c> a</c><00:18:52.930><c> scratch</c><00:18:53.170><c> pad</c><00:18:53.380><c> of</c>

00:18:53.520 --> 00:18:53.530 align:start position:0%
Pascal outline supports a scratch pad of
 

00:18:53.530 --> 00:18:56.220 align:start position:0%
Pascal outline supports a scratch pad of
up<00:18:53.650><c> to</c><00:18:53.680><c> 96</c><00:18:54.310><c> kilobytes</c><00:18:54.760><c> AMD's</c><00:18:55.600><c> Polaris</c><00:18:56.080><c> and</c>

00:18:56.220 --> 00:18:56.230 align:start position:0%
up to 96 kilobytes AMD's Polaris and
 

00:18:56.230 --> 00:18:58.800 align:start position:0%
up to 96 kilobytes AMD's Polaris and
Vega<00:18:56.440><c> line</c><00:18:56.710><c> supports</c><00:18:57.610><c> up</c><00:18:57.730><c> to</c><00:18:57.760><c> 64</c><00:18:58.330><c> kilobytes</c>

00:18:58.800 --> 00:18:58.810 align:start position:0%
Vega line supports up to 64 kilobytes
 

00:18:58.810 --> 00:19:01.980 align:start position:0%
Vega line supports up to 64 kilobytes
and<00:18:59.110><c> the</c><00:18:59.980><c> AMD</c><00:19:00.430><c> OpenCL</c><00:19:01.150><c> kernel</c><00:19:01.360><c> currently</c>

00:19:01.980 --> 00:19:01.990 align:start position:0%
and the AMD OpenCL kernel currently
 

00:19:01.990 --> 00:19:04.080 align:start position:0%
and the AMD OpenCL kernel currently
required<00:19:02.410><c> additional</c><00:19:02.740><c> scratch</c><00:19:03.220><c> pad</c><00:19:03.460><c> space</c><00:19:03.730><c> in</c>

00:19:04.080 --> 00:19:04.090 align:start position:0%
required additional scratch pad space in
 

00:19:04.090 --> 00:19:07.260 align:start position:0%
required additional scratch pad space in
order<00:19:04.240><c> to</c><00:19:04.390><c> exchange</c><00:19:04.630><c> data</c><00:19:05.050><c> between</c><00:19:05.170><c> lanes</c><00:19:06.270><c> so</c>

00:19:07.260 --> 00:19:07.270 align:start position:0%
order to exchange data between lanes so
 

00:19:07.270 --> 00:19:09.930 align:start position:0%
order to exchange data between lanes so
in<00:19:07.390><c> order</c><00:19:07.540><c> to</c><00:19:07.780><c> effectively</c><00:19:08.280><c> execute</c><00:19:09.280><c> on</c><00:19:09.430><c> all</c>

00:19:09.930 --> 00:19:09.940 align:start position:0%
in order to effectively execute on all
 

00:19:09.940 --> 00:19:11.910 align:start position:0%
in order to effectively execute on all
existing<00:19:10.450><c> architectures</c><00:19:11.050><c> and</c><00:19:11.290><c> not</c><00:19:11.500><c> limit</c><00:19:11.800><c> our</c>

00:19:11.910 --> 00:19:11.920 align:start position:0%
existing architectures and not limit our
 

00:19:11.920 --> 00:19:14.250 align:start position:0%
existing architectures and not limit our
occupancy<00:19:12.310><c> the</c><00:19:13.120><c> case</c><00:19:13.330><c> portion</c><00:19:13.840><c> of</c><00:19:13.960><c> the</c><00:19:14.050><c> dag</c>

00:19:14.250 --> 00:19:14.260 align:start position:0%
occupancy the case portion of the dag
 

00:19:14.260 --> 00:19:17.580 align:start position:0%
occupancy the case portion of the dag
our<00:19:14.590><c> cash</c><00:19:15.550><c> bytes</c><00:19:15.850><c> up</c><00:19:16.060><c> there</c><00:19:16.270><c> is</c><00:19:16.450><c> set</c><00:19:17.050><c> to</c><00:19:17.170><c> 16</c>

00:19:17.580 --> 00:19:17.590 align:start position:0%
our cash bytes up there is set to 16
 

00:19:17.590 --> 00:19:18.710 align:start position:0%
our cash bytes up there is set to 16
kilobytes

00:19:18.710 --> 00:19:18.720 align:start position:0%
kilobytes
 

00:19:18.720 --> 00:19:22.260 align:start position:0%
kilobytes
now<00:19:19.720><c> the</c><00:19:20.260><c> compute</c><00:19:20.620><c> core</c><00:19:20.800><c> of</c><00:19:20.950><c> a</c><00:19:21.040><c> GPU</c><00:19:21.340><c> card</c><00:19:21.700><c> the</c>

00:19:22.260 --> 00:19:22.270 align:start position:0%
now the compute core of a GPU card the
 

00:19:22.270 --> 00:19:25.740 align:start position:0%
now the compute core of a GPU card the
ASIC<00:19:22.660><c> itself</c><00:19:23.080><c> is</c><00:19:23.880><c> really</c><00:19:24.880><c> just</c><00:19:25.270><c> a</c><00:19:25.480><c> large</c>

00:19:25.740 --> 00:19:25.750 align:start position:0%
ASIC itself is really just a large
 

00:19:25.750 --> 00:19:28.830 align:start position:0%
ASIC itself is really just a large
number<00:19:26.170><c> of</c><00:19:26.320><c> registers</c><00:19:26.920><c> that</c><00:19:27.840><c> feed</c>

00:19:28.830 --> 00:19:28.840 align:start position:0%
number of registers that feed
 

00:19:28.840 --> 00:19:32.060 align:start position:0%
number of registers that feed
high-throughput<00:19:29.730><c> programmable</c><00:19:30.730><c> math</c><00:19:31.150><c> units</c>

00:19:32.060 --> 00:19:32.070 align:start position:0%
high-throughput programmable math units
 

00:19:32.070 --> 00:19:35.700 align:start position:0%
high-throughput programmable math units
the<00:19:33.070><c> inner</c><00:19:33.250><c> loop</c><00:19:33.520><c> of</c><00:19:33.760><c> Eid</c><00:19:33.940><c> hash</c><00:19:34.120><c> just</c><00:19:35.050><c> uses</c><00:19:35.530><c> the</c>

00:19:35.700 --> 00:19:35.710 align:start position:0%
the inner loop of Eid hash just uses the
 

00:19:35.710 --> 00:19:38.880 align:start position:0%
the inner loop of Eid hash just uses the
dag<00:19:35.860><c> load</c><00:19:36.160><c> and</c><00:19:36.430><c> then</c><00:19:36.880><c> the</c><00:19:37.140><c> FNV</c><00:19:38.140><c> to</c><00:19:38.380><c> merge</c><00:19:38.620><c> the</c>

00:19:38.880 --> 00:19:38.890 align:start position:0%
dag load and then the FNV to merge the
 

00:19:38.890 --> 00:19:42.870 align:start position:0%
dag load and then the FNV to merge the
data<00:19:39.040><c> into</c><00:19:39.670><c> a</c><00:19:39.730><c> small</c><00:19:40.000><c> mixed</c><00:19:40.300><c> state</c><00:19:40.800><c> Prague</c><00:19:41.880><c> as</c>

00:19:42.870 --> 00:19:42.880 align:start position:0%
data into a small mixed state Prague as
 

00:19:42.880 --> 00:19:45.360 align:start position:0%
data into a small mixed state Prague as
a<00:19:43.390><c> sequence</c><00:19:43.960><c> of</c><00:19:44.110><c> random</c><00:19:44.290><c> math</c><00:19:44.680><c> instructions</c>

00:19:45.360 --> 00:19:45.370 align:start position:0%
a sequence of random math instructions
 

00:19:45.370 --> 00:19:47.700 align:start position:0%
a sequence of random math instructions
and<00:19:45.580><c> random</c><00:19:45.970><c> cache</c><00:19:46.210><c> reads</c><00:19:46.930><c> that</c><00:19:47.260><c> get</c><00:19:47.410><c> merged</c>

00:19:47.700 --> 00:19:47.710 align:start position:0%
and random cache reads that get merged
 

00:19:47.710 --> 00:19:50.490 align:start position:0%
and random cache reads that get merged
into<00:19:48.010><c> a</c><00:19:48.130><c> much</c><00:19:48.460><c> larger</c><00:19:49.090><c> mixed</c><00:19:49.360><c> state</c><00:19:49.540><c> why</c><00:19:50.440><c> is</c>

00:19:50.490 --> 00:19:50.500 align:start position:0%
into a much larger mixed state why is
 

00:19:50.500 --> 00:19:52.440 align:start position:0%
into a much larger mixed state why is
this<00:19:50.800><c> important</c><00:19:51.370><c> the</c><00:19:51.790><c> bigger</c><00:19:52.000><c> the</c><00:19:52.180><c> mixed</c>

00:19:52.440 --> 00:19:52.450 align:start position:0%
this important the bigger the mixed
 

00:19:52.450 --> 00:19:54.240 align:start position:0%
this important the bigger the mixed
state<00:19:52.630><c> and</c><00:19:52.840><c> the</c><00:19:53.020><c> more</c><00:19:53.200><c> random</c><00:19:53.410><c> the</c><00:19:53.860><c> bigger</c><00:19:54.040><c> the</c>

00:19:54.240 --> 00:19:54.250 align:start position:0%
state and the more random the bigger the
 

00:19:54.250 --> 00:19:56.310 align:start position:0%
state and the more random the bigger the
die<00:19:54.400><c> size</c><00:19:54.640><c> gets</c><00:19:55.030><c> on</c><00:19:55.450><c> fixed</c><00:19:55.930><c> functional</c>

00:19:56.310 --> 00:19:56.320 align:start position:0%
die size gets on fixed functional
 

00:19:56.320 --> 00:19:58.350 align:start position:0%
die size gets on fixed functional
hardware

00:19:58.350 --> 00:19:58.360 align:start position:0%
hardware
 

00:19:58.360 --> 00:20:00.240 align:start position:0%
hardware
reeking<00:19:58.570><c> of</c><00:19:58.660><c> FNV</c><00:19:59.140><c> I</c><00:19:59.350><c> wanted</c><00:19:59.740><c> to</c><00:19:59.830><c> touch</c><00:19:59.950><c> on</c><00:20:00.130><c> it</c>

00:20:00.240 --> 00:20:00.250 align:start position:0%
reeking of FNV I wanted to touch on it
 

00:20:00.250 --> 00:20:02.280 align:start position:0%
reeking of FNV I wanted to touch on it
for<00:20:00.370><c> a</c><00:20:00.430><c> moment</c><00:20:00.760><c> because</c><00:20:01.390><c> I</c><00:20:01.540><c> did</c><00:20:01.750><c> promise</c><00:20:01.990><c> some</c>

00:20:02.280 --> 00:20:02.290 align:start position:0%
for a moment because I did promise some
 

00:20:02.290 --> 00:20:07.230 align:start position:0%
for a moment because I did promise some
folks<00:20:02.500><c> that</c><00:20:02.890><c> I</c><00:20:02.920><c> would</c><00:20:05.220><c> so</c><00:20:06.220><c> there's</c><00:20:06.610><c> this</c><00:20:06.880><c> rumor</c>

00:20:07.230 --> 00:20:07.240 align:start position:0%
folks that I would so there's this rumor
 

00:20:07.240 --> 00:20:09.690 align:start position:0%
folks that I would so there's this rumor
a<00:20:07.270><c> myth</c><00:20:07.540><c> going</c><00:20:07.570><c> around</c><00:20:08.110><c> about</c><00:20:08.470><c> FPGAs</c><00:20:09.430><c> with</c>

00:20:09.690 --> 00:20:09.700 align:start position:0%
a myth going around about FPGAs with
 

00:20:09.700 --> 00:20:12.270 align:start position:0%
a myth going around about FPGAs with
some<00:20:09.880><c> killer</c><00:20:10.150><c> performance</c><00:20:10.360><c> on</c><00:20:10.810><c> it</c><00:20:10.960><c> hash</c><00:20:11.280><c> even</c>

00:20:12.270 --> 00:20:12.280 align:start position:0%
some killer performance on it hash even
 

00:20:12.280 --> 00:20:14.930 align:start position:0%
some killer performance on it hash even
when<00:20:12.460><c> they're</c><00:20:12.640><c> just</c><00:20:12.820><c> bound</c><00:20:13.000><c> to</c><00:20:13.320><c> ddr4</c><00:20:14.320><c> memory</c>

00:20:14.930 --> 00:20:14.940 align:start position:0%
when they're just bound to ddr4 memory
 

00:20:14.940 --> 00:20:19.200 align:start position:0%
when they're just bound to ddr4 memory
F&amp;V<00:20:15.940><c> fuller</c><00:20:16.600><c> Nova</c><00:20:17.020><c> vole</c><00:20:17.410><c> is</c><00:20:17.760><c> not</c><00:20:18.760><c> a</c><00:20:18.790><c> secure</c>

00:20:19.200 --> 00:20:19.210 align:start position:0%
F&amp;V fuller Nova vole is not a secure
 

00:20:19.210 --> 00:20:22.200 align:start position:0%
F&amp;V fuller Nova vole is not a secure
hash<00:20:19.390><c> function</c><00:20:20.430><c> there</c><00:20:21.430><c> is</c><00:20:21.460><c> a</c><00:20:21.610><c> possible</c><00:20:22.090><c> attack</c>

00:20:22.200 --> 00:20:22.210 align:start position:0%
hash function there is a possible attack
 

00:20:22.210 --> 00:20:24.830 align:start position:0%
hash function there is a possible attack
where<00:20:22.960><c> if</c><00:20:23.290><c> you</c><00:20:23.470><c> know</c><00:20:23.620><c> iteration</c><00:20:24.370><c> I</c><00:20:24.550><c> is</c>

00:20:24.830 --> 00:20:24.840 align:start position:0%
where if you know iteration I is
 

00:20:24.840 --> 00:20:29.220 align:start position:0%
where if you know iteration I is
accessing<00:20:25.840><c> dag</c><00:20:26.050><c> X</c><00:20:26.580><c> then</c><00:20:27.580><c> only</c><00:20:28.330><c> a</c><00:20:28.630><c> small</c><00:20:29.020><c> number</c>

00:20:29.220 --> 00:20:29.230 align:start position:0%
accessing dag X then only a small number
 

00:20:29.230 --> 00:20:31.620 align:start position:0%
accessing dag X then only a small number
of<00:20:29.380><c> next</c><00:20:29.830><c> possible</c><00:20:30.250><c> dag</c><00:20:30.460><c> Y</c><00:20:30.760><c> will</c><00:20:31.090><c> be</c><00:20:31.180><c> accessed</c>

00:20:31.620 --> 00:20:31.630 align:start position:0%
of next possible dag Y will be accessed
 

00:20:31.630 --> 00:20:35.280 align:start position:0%
of next possible dag Y will be accessed
and<00:20:32.010><c> technically</c><00:20:33.010><c> you</c><00:20:33.550><c> can</c><00:20:33.730><c> do</c><00:20:33.880><c> a</c><00:20:34.290><c> pre</c>

00:20:35.280 --> 00:20:35.290 align:start position:0%
and technically you can do a pre
 

00:20:35.290 --> 00:20:38.640 align:start position:0%
and technically you can do a pre
calculation<00:20:35.950><c> attack</c><00:20:36.450><c> where</c><00:20:37.450><c> you</c><00:20:37.720><c> pre</c><00:20:38.230><c> compute</c>

00:20:38.640 --> 00:20:38.650 align:start position:0%
calculation attack where you pre compute
 

00:20:38.650 --> 00:20:40.650 align:start position:0%
calculation attack where you pre compute
dag<00:20:38.860><c> X</c><00:20:39.100><c> with</c><00:20:39.370><c> enough</c><00:20:39.610><c> SRAM</c><00:20:40.120><c> or</c><00:20:40.300><c> be</c><00:20:40.420><c> ram</c>

00:20:40.650 --> 00:20:40.660 align:start position:0%
dag X with enough SRAM or be ram
 

00:20:40.660 --> 00:20:42.840 align:start position:0%
dag X with enough SRAM or be ram
followed<00:20:41.350><c> by</c><00:20:41.470><c> all</c><00:20:41.620><c> combinations</c><00:20:42.310><c> of</c><00:20:42.430><c> dag</c><00:20:42.640><c> Y</c>

00:20:42.840 --> 00:20:42.850 align:start position:0%
followed by all combinations of dag Y
 

00:20:42.850 --> 00:20:45.120 align:start position:0%
followed by all combinations of dag Y
and<00:20:43.150><c> you</c><00:20:43.690><c> completely</c><00:20:44.110><c> skip</c><00:20:44.470><c> off</c><00:20:44.650><c> the</c><00:20:44.830><c> memory</c>

00:20:45.120 --> 00:20:45.130 align:start position:0%
and you completely skip off the memory
 

00:20:45.130 --> 00:20:47.490 align:start position:0%
and you completely skip off the memory
accesses<00:20:45.580><c> what</c><00:20:46.330><c> that</c><00:20:46.510><c> means</c><00:20:46.780><c> is</c><00:20:47.110><c> that</c><00:20:47.140><c> you</c>

00:20:47.490 --> 00:20:47.500 align:start position:0%
accesses what that means is that you
 

00:20:47.500 --> 00:20:50.210 align:start position:0%
accesses what that means is that you
violate<00:20:47.950><c> the</c><00:20:48.100><c> memory</c><00:20:48.400><c> bandwidth</c><00:20:48.850><c> Evette</c><00:20:49.420><c> hash</c>

00:20:50.210 --> 00:20:50.220 align:start position:0%
violate the memory bandwidth Evette hash
 

00:20:50.220 --> 00:20:53.100 align:start position:0%
violate the memory bandwidth Evette hash
most<00:20:51.220><c> of</c><00:20:51.400><c> these</c><00:20:51.490><c> FPGA</c><00:20:52.150><c> rumors</c><00:20:52.660><c> seem</c><00:20:52.930><c> to</c><00:20:53.020><c> be</c>

00:20:53.100 --> 00:20:53.110 align:start position:0%
most of these FPGA rumors seem to be
 

00:20:53.110 --> 00:20:55.530 align:start position:0%
most of these FPGA rumors seem to be
require<00:20:53.410><c> 64</c><00:20:54.040><c> gigabyte</c><00:20:54.670><c> which</c><00:20:54.700><c> suggests</c>

00:20:55.530 --> 00:20:55.540 align:start position:0%
require 64 gigabyte which suggests
 

00:20:55.540 --> 00:20:58.350 align:start position:0%
require 64 gigabyte which suggests
pre-computation<00:20:56.550><c> combining</c><00:20:57.550><c> DAGs</c><00:20:57.790><c> doesn't</c>

00:20:58.350 --> 00:20:58.360 align:start position:0%
pre-computation combining DAGs doesn't
 

00:20:58.360 --> 00:21:01.260 align:start position:0%
pre-computation combining DAGs doesn't
actually<00:20:58.510><c> work</c><00:20:59.040><c> but</c><00:21:00.040><c> in</c><00:21:00.430><c> case</c><00:21:00.760><c> there</c><00:21:00.970><c> is</c><00:21:01.000><c> an</c>

00:21:01.260 --> 00:21:01.270 align:start position:0%
actually work but in case there is an
 

00:21:01.270 --> 00:21:03.750 align:start position:0%
actually work but in case there is an
F&amp;V<00:21:01.540><c> attack</c><00:21:02.050><c> well</c><00:21:02.770><c> there's</c><00:21:03.280><c> kind</c><00:21:03.460><c> of</c><00:21:03.580><c> good</c>

00:21:03.750 --> 00:21:03.760 align:start position:0%
F&amp;V attack well there's kind of good
 

00:21:03.760 --> 00:21:04.290 align:start position:0%
F&amp;V attack well there's kind of good
news

00:21:04.290 --> 00:21:04.300 align:start position:0%
news
 

00:21:04.300 --> 00:21:07.410 align:start position:0%
news
see<00:21:04.720><c> prog</c><00:21:05.500><c> pal</c><00:21:05.740><c> doesn't</c><00:21:06.610><c> have</c><00:21:06.910><c> this</c><00:21:07.150><c> problem</c>

00:21:07.410 --> 00:21:07.420 align:start position:0%
see prog pal doesn't have this problem
 

00:21:07.420 --> 00:21:12.540 align:start position:0%
see prog pal doesn't have this problem
and<00:21:07.990><c> hash</c><00:21:08.830><c> is</c><00:21:09.510><c> dag</c><00:21:10.510><c> to</c><00:21:10.990><c> F</c><00:21:11.140><c> and</c><00:21:11.350><c> V</c><00:21:11.380><c> to</c><00:21:11.680><c> dag</c><00:21:11.890><c> but</c>

00:21:12.540 --> 00:21:12.550 align:start position:0%
and hash is dag to F and V to dag but
 

00:21:12.550 --> 00:21:15.840 align:start position:0%
and hash is dag to F and V to dag but
prog<00:21:13.090><c> pal</c><00:21:13.500><c> its</c><00:21:14.500><c> dag</c><00:21:14.830><c> with</c><00:21:15.250><c> a</c><00:21:15.280><c> bunch</c><00:21:15.550><c> of</c><00:21:15.640><c> random</c>

00:21:15.840 --> 00:21:15.850 align:start position:0%
prog pal its dag with a bunch of random
 

00:21:15.850 --> 00:21:17.910 align:start position:0%
prog pal its dag with a bunch of random
math<00:21:16.150><c> which</c><00:21:16.540><c> with</c><00:21:16.960><c> dag</c><00:21:17.230><c> with</c><00:21:17.530><c> a</c><00:21:17.560><c> bunch</c><00:21:17.800><c> of</c>

00:21:17.910 --> 00:21:17.920 align:start position:0%
math which with dag with a bunch of
 

00:21:17.920 --> 00:21:20.190 align:start position:0%
math which with dag with a bunch of
random<00:21:18.100><c> masks</c><00:21:18.400><c> repeat</c><00:21:19.090><c> repeat</c><00:21:19.300><c> repeat</c><00:21:19.510><c> until</c>

00:21:20.190 --> 00:21:20.200 align:start position:0%
random masks repeat repeat repeat until
 

00:21:20.200 --> 00:21:24.780 align:start position:0%
random masks repeat repeat repeat until
dag<00:21:21.750><c> now</c><00:21:22.750><c> multiple</c><00:21:23.740><c> people</c><00:21:24.040><c> have</c><00:21:24.130><c> claimed</c><00:21:24.490><c> to</c>

00:21:24.780 --> 00:21:24.790 align:start position:0%
dag now multiple people have claimed to
 

00:21:24.790 --> 00:21:26.910 align:start position:0%
dag now multiple people have claimed to
attack<00:21:25.240><c> this</c><00:21:25.510><c> weakness</c><00:21:25.780><c> and</c><00:21:26.140><c> F</c><00:21:26.230><c> and</c><00:21:26.410><c> V</c><00:21:26.470><c> to</c><00:21:26.740><c> date</c>

00:21:26.910 --> 00:21:26.920 align:start position:0%
attack this weakness and F and V to date
 

00:21:26.920 --> 00:21:32.670 align:start position:0%
attack this weakness and F and V to date
and<00:21:27.190><c> who</c><00:21:28.000><c> knows</c><00:21:28.180><c> maybe</c><00:21:28.480><c> I</c><00:21:28.960><c> might</c><00:21:29.260><c> have</c><00:21:29.410><c> to</c><00:21:31.680><c> so</c>

00:21:32.670 --> 00:21:32.680 align:start position:0%
and who knows maybe I might have to so
 

00:21:32.680 --> 00:21:34.140 align:start position:0%
and who knows maybe I might have to so
let's<00:21:33.100><c> move</c><00:21:33.280><c> on</c><00:21:33.460><c> to</c><00:21:33.490><c> the</c><00:21:33.670><c> random</c><00:21:33.970><c> math</c>

00:21:34.140 --> 00:21:34.150 align:start position:0%
let's move on to the random math
 

00:21:34.150 --> 00:21:36.560 align:start position:0%
let's move on to the random math
function<00:21:34.600><c> and</c><00:21:34.720><c> why</c><00:21:34.810><c> that</c><00:21:34.960><c> matters</c><00:21:35.140><c> so</c><00:21:35.350><c> much</c>

00:21:36.560 --> 00:21:36.570 align:start position:0%
function and why that matters so much
 

00:21:36.570 --> 00:21:39.480 align:start position:0%
function and why that matters so much
randomness<00:21:37.570><c> and</c><00:21:37.840><c> fixed</c><00:21:38.410><c> function</c><00:21:38.740><c> Hardware</c>

00:21:39.480 --> 00:21:39.490 align:start position:0%
randomness and fixed function Hardware
 

00:21:39.490 --> 00:21:43.830 align:start position:0%
randomness and fixed function Hardware
do<00:21:40.090><c> not</c><00:21:40.390><c> mix</c><00:21:41.550><c> random</c><00:21:42.550><c> math</c><00:21:42.820><c> helps</c><00:21:43.540><c> to</c><00:21:43.660><c> match</c>

00:21:43.830 --> 00:21:43.840 align:start position:0%
do not mix random math helps to match
 

00:21:43.840 --> 00:21:46.590 align:start position:0%
do not mix random math helps to match
the<00:21:44.290><c> GPUs</c><00:21:44.740><c> program</c><00:21:45.220><c> ability</c><00:21:45.730><c> and</c><00:21:45.910><c> integer</c>

00:21:46.590 --> 00:21:46.600 align:start position:0%
the GPUs program ability and integer
 

00:21:46.600 --> 00:21:49.860 align:start position:0%
the GPUs program ability and integer
math<00:21:46.780><c> that</c><00:21:47.650><c> they</c><00:21:47.890><c> normally</c><00:21:48.040><c> excel</c><00:21:48.640><c> at</c><00:21:48.870><c> fixed</c>

00:21:49.860 --> 00:21:49.870 align:start position:0%
math that they normally excel at fixed
 

00:21:49.870 --> 00:21:51.960 align:start position:0%
math that they normally excel at fixed
function<00:21:50.200><c> Hardware</c><00:21:50.800><c> like</c><00:21:51.160><c> I</c><00:21:51.190><c> said</c><00:21:51.490><c> doesn't</c>

00:21:51.960 --> 00:21:51.970 align:start position:0%
function Hardware like I said doesn't
 

00:21:51.970 --> 00:21:54.420 align:start position:0%
function Hardware like I said doesn't
like<00:21:52.060><c> randomness</c><00:21:52.770><c> FPGAs</c><00:21:53.770><c> don't</c><00:21:54.040><c> really</c><00:21:54.220><c> like</c>

00:21:54.420 --> 00:21:54.430 align:start position:0%
like randomness FPGAs don't really like
 

00:21:54.430 --> 00:21:55.230 align:start position:0%
like randomness FPGAs don't really like
it<00:21:54.580><c> much</c><00:21:54.730><c> either</c>

00:21:55.230 --> 00:21:55.240 align:start position:0%
it much either
 

00:21:55.240 --> 00:21:58.080 align:start position:0%
it much either
they<00:21:55.840><c> require</c><00:21:56.200><c> reprogram</c><00:21:56.920><c> ability</c><00:21:57.370><c> via</c><00:21:57.550><c> JTAG</c>

00:21:58.080 --> 00:21:58.090 align:start position:0%
they require reprogram ability via JTAG
 

00:21:58.090 --> 00:22:00.060 align:start position:0%
they require reprogram ability via JTAG
USB<00:21:58.630><c> or</c><00:21:58.810><c> some</c><00:21:59.020><c> other</c><00:21:59.170><c> metric</c><00:21:59.650><c> to</c><00:21:59.770><c> employ</c>

00:22:00.060 --> 00:22:00.070 align:start position:0%
USB or some other metric to employ
 

00:22:00.070 --> 00:22:02.820 align:start position:0%
USB or some other metric to employ
randomness<00:22:00.750><c> some</c><00:22:01.750><c> people</c><00:22:02.110><c> think</c><00:22:02.440><c> that</c><00:22:02.500><c> the</c>

00:22:02.820 --> 00:22:02.830 align:start position:0%
randomness some people think that the
 

00:22:02.830 --> 00:22:05.070 align:start position:0%
randomness some people think that the
random<00:22:03.550><c> math</c><00:22:03.730><c> and</c><00:22:03.970><c> probe</c><00:22:04.150><c> pal</c><00:22:04.390><c> is</c><00:22:04.630><c> a</c><00:22:04.660><c> bit</c><00:22:04.870><c> naive</c>

00:22:05.070 --> 00:22:05.080 align:start position:0%
random math and probe pal is a bit naive
 

00:22:05.080 --> 00:22:07.830 align:start position:0%
random math and probe pal is a bit naive
they<00:22:05.680><c> assume</c><00:22:06.490><c> it's</c><00:22:06.730><c> cheap</c><00:22:07.000><c> to</c><00:22:07.180><c> implement</c><00:22:07.600><c> on</c><00:22:07.690><c> a</c>

00:22:07.830 --> 00:22:07.840 align:start position:0%
they assume it's cheap to implement on a
 

00:22:07.840 --> 00:22:10.700 align:start position:0%
they assume it's cheap to implement on a
6<00:22:08.140><c> because</c><00:22:08.800><c> we</c><00:22:08.830><c> use</c><00:22:09.100><c> bit</c><00:22:09.370><c> operations</c>

00:22:10.700 --> 00:22:10.710 align:start position:0%
6 because we use bit operations
 

00:22:10.710 --> 00:22:13.070 align:start position:0%
6 because we use bit operations
our<00:22:11.160><c> implementation</c><00:22:11.970><c> uses</c><00:22:12.270><c> rotates</c><00:22:12.660><c> which</c>

00:22:13.070 --> 00:22:13.080 align:start position:0%
our implementation uses rotates which
 

00:22:13.080 --> 00:22:15.080 align:start position:0%
our implementation uses rotates which
require<00:22:13.440><c> a</c><00:22:13.470><c> full</c><00:22:13.800><c> barrel</c><00:22:14.040><c> shifter</c><00:22:14.610><c> that's</c>

00:22:15.080 --> 00:22:15.090 align:start position:0%
require a full barrel shifter that's
 

00:22:15.090 --> 00:22:17.030 align:start position:0%
require a full barrel shifter that's
pretty<00:22:15.570><c> expensive</c><00:22:15.870><c> on</c><00:22:16.380><c> fixed</c><00:22:16.890><c> function</c>

00:22:17.030 --> 00:22:17.040 align:start position:0%
pretty expensive on fixed function
 

00:22:17.040 --> 00:22:21.170 align:start position:0%
pretty expensive on fixed function
hardware<00:22:17.610><c> and</c><00:22:18.980><c> sure</c><00:22:19.980><c> if</c><00:22:20.520><c> you're</c><00:22:20.820><c> the</c>

00:22:21.170 --> 00:22:21.180 align:start position:0%
hardware and sure if you're the
 

00:22:21.180 --> 00:22:23.060 align:start position:0%
hardware and sure if you're the
bitstream<00:22:21.480><c> on</c><00:22:21.780><c> an</c><00:22:21.870><c> FPGA</c><00:22:22.380><c> could</c><00:22:22.740><c> be</c><00:22:22.890><c> updated</c>

00:22:23.060 --> 00:22:23.070 align:start position:0%
bitstream on an FPGA could be updated
 

00:22:23.070 --> 00:22:25.820 align:start position:0%
bitstream on an FPGA could be updated
every<00:22:23.520><c> 12</c><00:22:23.940><c> minutes</c><00:22:24.230><c> it</c><00:22:25.230><c> could</c><00:22:25.530><c> definitely</c>

00:22:25.820 --> 00:22:25.830 align:start position:0%
every 12 minutes it could definitely
 

00:22:25.830 --> 00:22:28.070 align:start position:0%
every 12 minutes it could definitely
implement<00:22:26.580><c> the</c><00:22:26.640><c> random</c><00:22:27.270><c> math</c><00:22:27.510><c> portion</c><00:22:27.810><c> of</c>

00:22:28.070 --> 00:22:28.080 align:start position:0%
implement the random math portion of
 

00:22:28.080 --> 00:22:30.830 align:start position:0%
implement the random math portion of
prog<00:22:28.290><c> pal</c><00:22:28.530><c> at</c><00:22:28.800><c> a</c><00:22:28.830><c> lower</c><00:22:29.070><c> power</c><00:22:29.340><c> than</c><00:22:30.060><c> GPU</c><00:22:30.630><c> by</c>

00:22:30.830 --> 00:22:30.840 align:start position:0%
prog pal at a lower power than GPU by
 

00:22:30.840 --> 00:22:32.540 align:start position:0%
prog pal at a lower power than GPU by
creating<00:22:31.290><c> a</c><00:22:31.350><c> fixed</c><00:22:31.650><c> pipeline</c><00:22:32.100><c> but</c><00:22:32.310><c> there's</c><00:22:32.490><c> a</c>

00:22:32.540 --> 00:22:32.550 align:start position:0%
creating a fixed pipeline but there's a
 

00:22:32.550 --> 00:22:34.580 align:start position:0%
creating a fixed pipeline but there's a
problem<00:22:32.820><c> with</c><00:22:33.090><c> that</c><00:22:33.270><c> the</c><00:22:33.750><c> cache</c><00:22:33.990><c> accesses</c>

00:22:34.580 --> 00:22:34.590 align:start position:0%
problem with that the cache accesses
 

00:22:34.590 --> 00:22:37.760 align:start position:0%
problem with that the cache accesses
however<00:22:35.490><c> all</c><00:22:35.670><c> of</c><00:22:35.820><c> that</c><00:22:35.970><c> all</c><00:22:36.140><c> so</c><00:22:37.140><c> since</c>

00:22:37.760 --> 00:22:37.770 align:start position:0%
however all of that all so since
 

00:22:37.770 --> 00:22:38.780 align:start position:0%
however all of that all so since
you're<00:22:37.920><c> gonna</c><00:22:38.010><c> need</c><00:22:38.220><c> a</c><00:22:38.280><c> high</c><00:22:38.490><c> throughput</c>

00:22:38.780 --> 00:22:38.790 align:start position:0%
you're gonna need a high throughput
 

00:22:38.790 --> 00:22:42.290 align:start position:0%
you're gonna need a high throughput
throughput<00:22:39.750><c> crossbar</c><00:22:40.790><c> you</c><00:22:41.790><c> know</c><00:22:41.910><c> the</c><00:22:42.090><c> things</c>

00:22:42.290 --> 00:22:42.300 align:start position:0%
throughput crossbar you know the things
 

00:22:42.300 --> 00:22:44.780 align:start position:0%
throughput crossbar you know the things
GPUs<00:22:42.810><c> naturally</c><00:22:43.290><c> have</c><00:22:43.500><c> it's</c><00:22:44.370><c> gonna</c><00:22:44.490><c> cause</c><00:22:44.760><c> a</c>

00:22:44.780 --> 00:22:44.790 align:start position:0%
GPUs naturally have it's gonna cause a
 

00:22:44.790 --> 00:22:48.320 align:start position:0%
GPUs naturally have it's gonna cause a
problem<00:22:45.060><c> and</c><00:22:45.680><c> we</c><00:22:46.680><c> use</c><00:22:46.920><c> KISS</c><00:22:47.190><c> 99</c><00:22:47.730><c> for</c><00:22:48.090><c> our</c>

00:22:48.320 --> 00:22:48.330 align:start position:0%
problem and we use KISS 99 for our
 

00:22:48.330 --> 00:22:50.570 align:start position:0%
problem and we use KISS 99 for our
random<00:22:48.810><c> random</c><00:22:49.530><c> math</c><00:22:49.740><c> and</c><00:22:49.980><c> that's</c><00:22:50.130><c> that's</c>

00:22:50.570 --> 00:22:50.580 align:start position:0%
random random math and that's that's
 

00:22:50.580 --> 00:22:52.700 align:start position:0%
random random math and that's that's
kind<00:22:50.790><c> of</c><00:22:51.030><c> important</c><00:22:51.540><c> for</c><00:22:51.750><c> you</c><00:22:51.840><c> number</c><00:22:52.440><c> geeks</c>

00:22:52.700 --> 00:22:52.710 align:start position:0%
kind of important for you number geeks
 

00:22:52.710 --> 00:22:54.920 align:start position:0%
kind of important for you number geeks
out<00:22:52.920><c> there</c><00:22:53.130><c> like</c><00:22:53.340><c> me</c><00:22:53.550><c> we</c><00:22:54.030><c> don't</c><00:22:54.240><c> use</c><00:22:54.420><c> Mersenne</c>

00:22:54.920 --> 00:22:54.930 align:start position:0%
out there like me we don't use Mersenne
 

00:22:54.930 --> 00:22:57.200 align:start position:0%
out there like me we don't use Mersenne
twister<00:22:55.080><c> because</c><00:22:56.070><c> it's</c><00:22:56.280><c> efficiently</c>

00:22:57.200 --> 00:22:57.210 align:start position:0%
twister because it's efficiently
 

00:22:57.210 --> 00:22:58.910 align:start position:0%
twister because it's efficiently
implemented<00:22:57.570><c> on</c><00:22:57.840><c> the</c><00:22:57.960><c> specialized</c><00:22:58.440><c> ASIC</c>

00:22:58.910 --> 00:22:58.920 align:start position:0%
implemented on the specialized ASIC
 

00:22:58.920 --> 00:23:00.710 align:start position:0%
implemented on the specialized ASIC
actually<00:22:59.730><c> we</c><00:22:59.880><c> don't</c><00:23:00.060><c> use</c><00:23:00.240><c> a</c><00:23:00.270><c> lot</c><00:23:00.390><c> of</c><00:23:00.570><c> the</c>

00:23:00.710 --> 00:23:00.720 align:start position:0%
actually we don't use a lot of the
 

00:23:00.720 --> 00:23:02.240 align:start position:0%
actually we don't use a lot of the
random<00:23:01.050><c> number</c><00:23:01.290><c> generators</c><00:23:01.800><c> out</c><00:23:02.040><c> there</c>

00:23:02.240 --> 00:23:02.250 align:start position:0%
random number generators out there
 

00:23:02.250 --> 00:23:05.000 align:start position:0%
random number generators out there
because<00:23:02.880><c> we</c><00:23:03.600><c> need</c><00:23:03.780><c> something</c><00:23:04.200><c> that</c><00:23:04.230><c> posts</c><00:23:04.830><c> the</c>

00:23:05.000 --> 00:23:05.010 align:start position:0%
because we need something that posts the
 

00:23:05.010 --> 00:23:07.760 align:start position:0%
because we need something that posts the
test<00:23:05.250><c> you</c><00:23:05.640><c> owe</c><00:23:05.670><c> one</c><00:23:06.330><c> statistical</c><00:23:07.200><c> test</c><00:23:07.530><c> suite</c>

00:23:07.760 --> 00:23:07.770 align:start position:0%
test you owe one statistical test suite
 

00:23:07.770 --> 00:23:12.470 align:start position:0%
test you owe one statistical test suite
why<00:23:08.210><c> well</c><00:23:10.070><c> test</c><00:23:11.070><c> you</c><00:23:11.280><c> oh</c><00:23:11.310><c> one</c><00:23:11.640><c> actually</c>

00:23:12.470 --> 00:23:12.480 align:start position:0%
why well test you oh one actually
 

00:23:12.480 --> 00:23:14.540 align:start position:0%
why well test you oh one actually
performs<00:23:13.110><c> checks</c><00:23:13.500><c> to</c><00:23:13.710><c> determine</c><00:23:13.950><c> whether</c><00:23:14.430><c> a</c>

00:23:14.540 --> 00:23:14.550 align:start position:0%
performs checks to determine whether a
 

00:23:14.550 --> 00:23:16.400 align:start position:0%
performs checks to determine whether a
random<00:23:15.000><c> number</c><00:23:15.120><c> generator</c><00:23:15.330><c> produces</c><00:23:15.930><c> well</c>

00:23:16.400 --> 00:23:16.410 align:start position:0%
random number generator produces well
 

00:23:16.410 --> 00:23:19.960 align:start position:0%
random number generator produces well
truly<00:23:17.250><c> random</c><00:23:17.550><c> numbers</c><00:23:17.910><c> for</c><00:23:18.660><c> some</c><00:23:18.870><c> reason</c>

00:23:19.960 --> 00:23:19.970 align:start position:0%
truly random numbers for some reason
 

00:23:19.970 --> 00:23:24.860 align:start position:0%
truly random numbers for some reason
most<00:23:20.970><c> of</c><00:23:21.120><c> them</c><00:23:21.270><c> fail</c><00:23:21.570><c> horribly</c>

00:23:24.860 --> 00:23:24.870 align:start position:0%
 
 

00:23:24.870 --> 00:23:28.520 align:start position:0%
 
so<00:23:25.380><c> yeah</c><00:23:26.130><c> Zor</c><00:23:26.670><c> shifts</c><00:23:27.180><c> they're</c><00:23:28.050><c> not</c><00:23:28.380><c> your</c>

00:23:28.520 --> 00:23:28.530 align:start position:0%
so yeah Zor shifts they're not your
 

00:23:28.530 --> 00:23:31.550 align:start position:0%
so yeah Zor shifts they're not your
friend<00:23:28.800><c> folks</c><00:23:29.130><c> they're</c><00:23:29.580><c> not</c><00:23:29.760><c> your</c><00:23:29.880><c> friend</c><00:23:30.560><c> so</c>

00:23:31.550 --> 00:23:31.560 align:start position:0%
friend folks they're not your friend so
 

00:23:31.560 --> 00:23:33.470 align:start position:0%
friend folks they're not your friend so
by<00:23:32.160><c> now</c><00:23:32.310><c> you're</c><00:23:32.430><c> getting</c><00:23:32.700><c> kind</c><00:23:32.880><c> of</c><00:23:33.030><c> bored</c><00:23:33.300><c> and</c>

00:23:33.470 --> 00:23:33.480 align:start position:0%
by now you're getting kind of bored and
 

00:23:33.480 --> 00:23:35.480 align:start position:0%
by now you're getting kind of bored and
you're<00:23:33.600><c> thinking</c><00:23:33.810><c> okay</c><00:23:34.290><c> okay</c><00:23:34.620><c> great</c><00:23:34.920><c> you</c>

00:23:35.480 --> 00:23:35.490 align:start position:0%
you're thinking okay okay great you
 

00:23:35.490 --> 00:23:37.040 align:start position:0%
you're thinking okay okay great you
talked<00:23:35.730><c> a</c><00:23:35.820><c> little</c><00:23:35.910><c> bit</c><00:23:36.090><c> about</c><00:23:36.240><c> Asics</c><00:23:36.750><c> what</c><00:23:36.960><c> are</c>

00:23:37.040 --> 00:23:37.050 align:start position:0%
talked a little bit about Asics what are
 

00:23:37.050 --> 00:23:41.060 align:start position:0%
talked a little bit about Asics what are
the<00:23:37.140><c> actual</c><00:23:37.500><c> results</c><00:23:38.040><c> well</c><00:23:39.290><c> boom</c><00:23:40.290><c> baby</c>

00:23:41.060 --> 00:23:41.070 align:start position:0%
the actual results well boom baby
 

00:23:41.070 --> 00:23:44.540 align:start position:0%
the actual results well boom baby
look<00:23:41.490><c> at</c><00:23:41.580><c> that</c><00:23:42.020><c> look</c><00:23:43.020><c> at</c><00:23:43.140><c> that</c><00:23:43.320><c> almost</c><00:23:43.740><c> 90%</c>

00:23:44.540 --> 00:23:44.550 align:start position:0%
look at that look at that almost 90%
 

00:23:44.550 --> 00:23:46.520 align:start position:0%
look at that look at that almost 90%
utilization<00:23:45.030><c> in</c><00:23:45.810><c> both</c><00:23:45.960><c> the</c><00:23:46.110><c> core</c><00:23:46.320><c> and</c><00:23:46.440><c> the</c>

00:23:46.520 --> 00:23:46.530 align:start position:0%
utilization in both the core and the
 

00:23:46.530 --> 00:23:49.850 align:start position:0%
utilization in both the core and the
memory<00:23:46.860><c> and</c><00:23:47.600><c> on</c><00:23:48.600><c> top</c><00:23:48.870><c> of</c><00:23:48.990><c> that</c><00:23:49.110><c> we</c><00:23:49.560><c> can</c><00:23:49.590><c> also</c>

00:23:49.850 --> 00:23:49.860 align:start position:0%
memory and on top of that we can also
 

00:23:49.860 --> 00:23:52.190 align:start position:0%
memory and on top of that we can also
see<00:23:50.130><c> our</c><00:23:50.160><c> scratchpad</c><00:23:50.580><c> memory</c><00:23:50.820><c> up</c><00:23:51.240><c> there</c><00:23:51.480><c> the</c>

00:23:52.190 --> 00:23:52.200 align:start position:0%
see our scratchpad memory up there the
 

00:23:52.200 --> 00:23:55.340 align:start position:0%
see our scratchpad memory up there the
second<00:23:52.890><c> screen</c><00:23:53.100><c> is</c><00:23:53.870><c> also</c><00:23:54.870><c> completely</c>

00:23:55.340 --> 00:23:55.350 align:start position:0%
second screen is also completely
 

00:23:55.350 --> 00:23:59.480 align:start position:0%
second screen is also completely
saturated<00:23:55.980><c> and</c><00:23:56.250><c> then</c><00:23:56.700><c> look</c><00:23:56.850><c> at</c><00:23:56.940><c> the</c><00:23:57.030><c> 5</c><00:23:58.220><c> 85</c><00:23:59.220><c> 80</c>

00:23:59.480 --> 00:23:59.490 align:start position:0%
saturated and then look at the 5 85 80
 

00:23:59.490 --> 00:24:02.830 align:start position:0%
saturated and then look at the 5 85 80
has<00:24:00.650><c> 88.8%</c>

00:24:02.830 --> 00:24:02.840 align:start position:0%
has 88.8%
 

00:24:02.840 --> 00:24:06.410 align:start position:0%
has 88.8%
occupancy<00:24:03.840><c> and</c><00:24:04.170><c> saturation</c><00:24:05.040><c> up</c><00:24:05.610><c> there</c><00:24:06.150><c> on</c><00:24:06.360><c> a</c>

00:24:06.410 --> 00:24:06.420 align:start position:0%
occupancy and saturation up there on a
 

00:24:06.420 --> 00:24:09.670 align:start position:0%
occupancy and saturation up there on a
video<00:24:06.780><c> eighty</c><00:24:07.380><c> eight</c><00:24:07.680><c> point</c><00:24:07.920><c> four</c><00:24:08.280><c> percent</c>

00:24:09.670 --> 00:24:09.680 align:start position:0%
video eighty eight point four percent
 

00:24:09.680 --> 00:24:12.710 align:start position:0%
video eighty eight point four percent
now<00:24:10.680><c> in</c><00:24:10.830><c> at</c><00:24:11.010><c> hash</c><00:24:11.280><c> we</c><00:24:11.790><c> all</c><00:24:11.910><c> know</c><00:24:12.120><c> that</c><00:24:12.300><c> NVIDIA</c>

00:24:12.710 --> 00:24:12.720 align:start position:0%
now in at hash we all know that NVIDIA
 

00:24:12.720 --> 00:24:15.440 align:start position:0%
now in at hash we all know that NVIDIA
GPUs<00:24:13.170><c> and</c><00:24:13.380><c> AMD</c><00:24:13.710><c> GPUs</c><00:24:14.220><c> are</c><00:24:14.400><c> not</c><00:24:14.670><c> equal</c><00:24:15.090><c> they're</c>

00:24:15.440 --> 00:24:15.450 align:start position:0%
GPUs and AMD GPUs are not equal they're
 

00:24:15.450 --> 00:24:19.250 align:start position:0%
GPUs and AMD GPUs are not equal they're
not<00:24:15.630><c> matched</c><00:24:16.520><c> they're</c><00:24:17.520><c> not</c><00:24:17.670><c> balanced</c><00:24:18.260><c> prog</c>

00:24:19.250 --> 00:24:19.260 align:start position:0%
not matched they're not balanced prog
 

00:24:19.260 --> 00:24:21.110 align:start position:0%
not matched they're not balanced prog
power<00:24:19.470><c> fixes</c><00:24:19.890><c> that</c>

00:24:21.110 --> 00:24:21.120 align:start position:0%
power fixes that
 

00:24:21.120 --> 00:24:23.570 align:start position:0%
power fixes that
a<00:24:21.180><c> proper</c><00:24:21.690><c> proof-of-work</c><00:24:22.290><c> algorithm</c><00:24:22.920><c> is</c><00:24:23.100><c> all</c>

00:24:23.570 --> 00:24:23.580 align:start position:0%
a proper proof-of-work algorithm is all
 

00:24:23.580 --> 00:24:29.350 align:start position:0%
a proper proof-of-work algorithm is all
about<00:24:24.120><c> balance</c><00:24:24.750><c> and</c><00:24:28.070><c> yeah</c>

00:24:29.350 --> 00:24:29.360 align:start position:0%
about balance and yeah
 

00:24:29.360 --> 00:24:32.540 align:start position:0%
about balance and yeah
while<00:24:30.360><c> our</c><00:24:30.570><c> cat</c><00:24:31.200><c> check</c><00:24:31.460><c> calculation</c><00:24:32.460><c> is</c>

00:24:32.540 --> 00:24:32.550 align:start position:0%
while our cat check calculation is
 

00:24:32.550 --> 00:24:35.120 align:start position:0%
while our cat check calculation is
halved<00:24:32.790><c> frog</c><00:24:33.750><c> power</c><00:24:33.990><c> does</c><00:24:34.230><c> add</c><00:24:34.470><c> that</c><00:24:34.500><c> series</c>

00:24:35.120 --> 00:24:35.130 align:start position:0%
halved frog power does add that series
 

00:24:35.130 --> 00:24:37.640 align:start position:0%
halved frog power does add that series
of<00:24:35.280><c> KISS</c><00:24:35.460><c> 99</c><00:24:35.970><c> calculations</c><00:24:36.750><c> as</c><00:24:37.170><c> part</c><00:24:37.470><c> of</c><00:24:37.559><c> our</c>

00:24:37.640 --> 00:24:37.650 align:start position:0%
of KISS 99 calculations as part of our
 

00:24:37.650 --> 00:24:39.890 align:start position:0%
of KISS 99 calculations as part of our
mixed<00:24:37.980><c> stage</c><00:24:38.160><c> remember</c><00:24:39.150><c> we</c><00:24:39.270><c> talked</c><00:24:39.510><c> about</c><00:24:39.750><c> why</c>

00:24:39.890 --> 00:24:39.900 align:start position:0%
mixed stage remember we talked about why
 

00:24:39.900 --> 00:24:41.000 align:start position:0%
mixed stage remember we talked about why
mixing<00:24:40.320><c> is</c><00:24:40.410><c> important</c>

00:24:41.000 --> 00:24:41.010 align:start position:0%
mixing is important
 

00:24:41.010 --> 00:24:43.220 align:start position:0%
mixing is important
well<00:24:41.520><c> the</c><00:24:41.790><c> filmic</c><00:24:42.150><c> stage</c><00:24:42.420><c> has</c><00:24:42.630><c> too</c><00:24:42.809><c> much</c><00:24:42.960><c> data</c>

00:24:43.220 --> 00:24:43.230 align:start position:0%
well the filmic stage has too much data
 

00:24:43.230 --> 00:24:45.500 align:start position:0%
well the filmic stage has too much data
to<00:24:43.410><c> offload</c><00:24:43.740><c> to</c><00:24:43.950><c> an</c><00:24:44.010><c> external</c><00:24:44.340><c> FPGA</c><00:24:44.970><c> now</c><00:24:45.240><c> it</c>

00:24:45.500 --> 00:24:45.510 align:start position:0%
to offload to an external FPGA now it
 

00:24:45.510 --> 00:24:47.810 align:start position:0%
to offload to an external FPGA now it
could<00:24:46.170><c> be</c><00:24:46.200><c> implemented</c><00:24:46.920><c> on</c><00:24:47.010><c> a</c><00:24:47.070><c> really</c><00:24:47.760><c> small</c>

00:24:47.810 --> 00:24:47.820 align:start position:0%
could be implemented on a really small
 

00:24:47.820 --> 00:24:49.760 align:start position:0%
could be implemented on a really small
chip<00:24:48.240><c> within</c><00:24:48.540><c> an</c><00:24:48.660><c> ASIC</c><00:24:49.020><c> using</c><00:24:49.380><c> a</c><00:24:49.440><c> small</c>

00:24:49.760 --> 00:24:49.770 align:start position:0%
chip within an ASIC using a small
 

00:24:49.770 --> 00:24:53.330 align:start position:0%
chip within an ASIC using a small
accelerator<00:24:50.340><c> but</c><00:24:51.059><c> that's</c><00:24:51.210><c> only</c><00:24:51.420><c> 7%</c><00:24:52.170><c> of</c><00:24:52.860><c> our</c>

00:24:53.330 --> 00:24:53.340 align:start position:0%
accelerator but that's only 7% of our
 

00:24:53.340 --> 00:24:56.630 align:start position:0%
accelerator but that's only 7% of our
compute<00:24:53.730><c> utilization</c><00:24:54.800><c> so</c><00:24:55.800><c> we</c><00:24:56.130><c> see</c><00:24:56.309><c> up</c><00:24:56.460><c> there</c>

00:24:56.630 --> 00:24:56.640 align:start position:0%
compute utilization so we see up there
 

00:24:56.640 --> 00:24:59.330 align:start position:0%
compute utilization so we see up there
ninety<00:24:57.450><c> one</c><00:24:57.690><c> point</c><00:24:58.020><c> nine</c><00:24:58.410><c> percent</c><00:24:58.440><c> of</c><00:24:59.130><c> the</c>

00:24:59.330 --> 00:24:59.340 align:start position:0%
ninety one point nine percent of the
 

00:24:59.340 --> 00:25:01.790 align:start position:0%
ninety one point nine percent of the
instructions<00:24:59.940><c> are</c><00:25:00.179><c> executed</c><00:25:00.500><c> within</c><00:25:01.500><c> the</c><00:25:01.620><c> dag</c>

00:25:01.790 --> 00:25:01.800 align:start position:0%
instructions are executed within the dag
 

00:25:01.800 --> 00:25:03.740 align:start position:0%
instructions are executed within the dag
access<00:25:02.429><c> random</c><00:25:02.880><c> math</c><00:25:03.059><c> and</c><00:25:03.270><c> random</c><00:25:03.510><c> cache</c>

00:25:03.740 --> 00:25:03.750 align:start position:0%
access random math and random cache
 

00:25:03.750 --> 00:25:06.140 align:start position:0%
access random math and random cache
accesses<00:25:04.710><c> things</c><00:25:05.280><c> we</c><00:25:05.429><c> can't</c><00:25:05.670><c> move</c><00:25:05.820><c> off</c><00:25:06.030><c> the</c>

00:25:06.140 --> 00:25:06.150 align:start position:0%
accesses things we can't move off the
 

00:25:06.150 --> 00:25:08.510 align:start position:0%
accesses things we can't move off the
GPU<00:25:06.540><c> can't</c><00:25:07.350><c> check</c><00:25:07.500><c> and</c><00:25:07.679><c> fill</c><00:25:07.830><c> mix</c><00:25:08.070><c> only</c>

00:25:08.510 --> 00:25:08.520 align:start position:0%
GPU can't check and fill mix only
 

00:25:08.520 --> 00:25:10.700 align:start position:0%
GPU can't check and fill mix only
account<00:25:09.000><c> for</c><00:25:09.059><c> about</c><00:25:09.179><c> seven</c><00:25:09.600><c> percent</c><00:25:09.710><c> that's</c>

00:25:10.700 --> 00:25:10.710 align:start position:0%
account for about seven percent that's
 

00:25:10.710 --> 00:25:14.210 align:start position:0%
account for about seven percent that's
only<00:25:10.950><c> a</c><00:25:11.010><c> seven</c><00:25:11.340><c> percent</c><00:25:11.580><c> speed</c><00:25:11.850><c> speed</c><00:25:12.570><c> gain</c><00:25:13.220><c> so</c>

00:25:14.210 --> 00:25:14.220 align:start position:0%
only a seven percent speed speed gain so
 

00:25:14.220 --> 00:25:16.040 align:start position:0%
only a seven percent speed speed gain so
what<00:25:14.850><c> does</c><00:25:15.090><c> that</c><00:25:15.270><c> actually</c><00:25:15.540><c> mean</c>

00:25:16.040 --> 00:25:16.050 align:start position:0%
what does that actually mean
 

00:25:16.050 --> 00:25:20.930 align:start position:0%
what does that actually mean
well<00:25:16.470><c> in</c><00:25:16.740><c> layman's</c><00:25:17.190><c> terms</c><00:25:17.630><c> it</c><00:25:18.630><c> means</c><00:25:19.700><c> that</c><00:25:20.700><c> an</c>

00:25:20.930 --> 00:25:20.940 align:start position:0%
well in layman's terms it means that an
 

00:25:20.940 --> 00:25:25.510 align:start position:0%
well in layman's terms it means that an
ASIC<00:25:21.360><c> for</c><00:25:21.540><c> at</c><00:25:21.660><c> hash</c><00:25:23.150><c> looks</c><00:25:24.150><c> just</c><00:25:24.900><c> like</c><00:25:25.080><c> this</c>

00:25:25.510 --> 00:25:25.520 align:start position:0%
ASIC for at hash looks just like this
 

00:25:25.520 --> 00:25:29.060 align:start position:0%
ASIC for at hash looks just like this
high<00:25:26.520><c> bandwidth</c><00:25:26.910><c> memory</c><00:25:27.150><c> interface</c><00:25:28.070><c> kept</c>

00:25:29.060 --> 00:25:29.070 align:start position:0%
high bandwidth memory interface kept
 

00:25:29.070 --> 00:25:31.910 align:start position:0%
high bandwidth memory interface kept
track<00:25:29.250><c> engine</c><00:25:29.670><c> usually</c><00:25:30.210><c> on</c><00:25:30.330><c> an</c><00:25:30.450><c> FPGA</c><00:25:30.960><c> and</c><00:25:31.320><c> a</c>

00:25:31.910 --> 00:25:31.920 align:start position:0%
track engine usually on an FPGA and a
 

00:25:31.920 --> 00:25:34.100 align:start position:0%
track engine usually on an FPGA and a
small<00:25:32.160><c> compute</c><00:25:32.580><c> core</c><00:25:32.820><c> to</c><00:25:32.970><c> do</c><00:25:33.090><c> FNV</c><00:25:33.570><c> loop</c><00:25:33.840><c> and</c>

00:25:34.100 --> 00:25:34.110 align:start position:0%
small compute core to do FNV loop and
 

00:25:34.110 --> 00:25:38.090 align:start position:0%
small compute core to do FNV loop and
modulo<00:25:34.530><c> operations</c><00:25:35.600><c> but</c><00:25:36.600><c> a</c><00:25:36.630><c> pro</c><00:25:36.900><c> palcic</c><00:25:37.650><c> well</c>

00:25:38.090 --> 00:25:38.100 align:start position:0%
modulo operations but a pro palcic well
 

00:25:38.100 --> 00:25:39.799 align:start position:0%
modulo operations but a pro palcic well
it's<00:25:38.790><c> gonna</c><00:25:38.940><c> have</c><00:25:39.030><c> the</c><00:25:39.179><c> high</c><00:25:39.390><c> bandwidth</c>

00:25:39.799 --> 00:25:39.809 align:start position:0%
it's gonna have the high bandwidth
 

00:25:39.809 --> 00:25:41.510 align:start position:0%
it's gonna have the high bandwidth
memory<00:25:39.929><c> interface</c><00:25:40.559><c> it's</c><00:25:41.160><c> going</c><00:25:41.309><c> to</c><00:25:41.370><c> have</c><00:25:41.490><c> a</c>

00:25:41.510 --> 00:25:41.520 align:start position:0%
memory interface it's going to have a
 

00:25:41.520 --> 00:25:43.960 align:start position:0%
memory interface it's going to have a
compute<00:25:41.910><c> core</c><00:25:42.150><c> with</c><00:25:42.450><c> a</c><00:25:42.480><c> large</c><00:25:42.840><c> register</c><00:25:43.530><c> file</c>

00:25:43.960 --> 00:25:43.970 align:start position:0%
compute core with a large register file
 

00:25:43.970 --> 00:25:45.760 align:start position:0%
compute core with a large register file
compute<00:25:44.970><c> core</c><00:25:45.240><c> with</c><00:25:45.450><c> high</c><00:25:45.720><c> throughput</c>

00:25:45.760 --> 00:25:45.770 align:start position:0%
compute core with high throughput
 

00:25:45.770 --> 00:25:48.919 align:start position:0%
compute core with high throughput
integer<00:25:46.770><c> math</c><00:25:47.070><c> high</c><00:25:47.970><c> throughput</c><00:25:48.330><c> highly</c>

00:25:48.919 --> 00:25:48.929 align:start position:0%
integer math high throughput highly
 

00:25:48.929 --> 00:25:51.980 align:start position:0%
integer math high throughput highly
banked<00:25:49.230><c> cache</c><00:25:49.640><c> small</c><00:25:50.640><c> cap</c><00:25:50.880><c> check</c><00:25:51.120><c> and</c><00:25:51.300><c> kiss</c><00:25:51.480><c> 99</c>

00:25:51.980 --> 00:25:51.990 align:start position:0%
banked cache small cap check and kiss 99
 

00:25:51.990 --> 00:25:55.220 align:start position:0%
banked cache small cap check and kiss 99
engines<00:25:52.530><c> wait</c><00:25:53.190><c> I</c><00:25:53.400><c> think</c><00:25:54.270><c> that's</c><00:25:54.660><c> also</c><00:25:55.020><c> known</c>

00:25:55.220 --> 00:25:55.230 align:start position:0%
engines wait I think that's also known
 

00:25:55.230 --> 00:26:01.130 align:start position:0%
engines wait I think that's also known
as<00:25:55.380><c> a</c><00:25:55.410><c> GPU</c><00:25:56.540><c> and</c><00:25:57.740><c> probe</c><00:25:58.740><c> has</c><00:25:58.950><c> also</c><00:25:59.190><c> tunable</c><00:26:00.140><c> so</c>

00:26:01.130 --> 00:26:01.140 align:start position:0%
as a GPU and probe has also tunable so
 

00:26:01.140 --> 00:26:02.570 align:start position:0%
as a GPU and probe has also tunable so
that's<00:26:01.320><c> a</c><00:26:01.440><c> really</c><00:26:01.710><c> important</c><00:26:02.250><c> feature</c><00:26:02.370><c> of</c>

00:26:02.570 --> 00:26:02.580 align:start position:0%
that's a really important feature of
 

00:26:02.580 --> 00:26:04.400 align:start position:0%
that's a really important feature of
your<00:26:02.790><c> proof</c><00:26:02.970><c> of</c><00:26:03.090><c> work</c><00:26:03.240><c> algorithm</c><00:26:03.809><c> so</c><00:26:04.230><c> what</c>

00:26:04.400 --> 00:26:04.410 align:start position:0%
your proof of work algorithm so what
 

00:26:04.410 --> 00:26:07.070 align:start position:0%
your proof of work algorithm so what
happens<00:26:04.890><c> if</c><00:26:05.160><c> in</c><00:26:05.760><c> the</c><00:26:05.940><c> future</c><00:26:06.300><c> if</c><00:26:06.540><c> def</c><00:26:06.900><c> else</c>

00:26:07.070 --> 00:26:07.080 align:start position:0%
happens if in the future if def else
 

00:26:07.080 --> 00:26:09.260 align:start position:0%
happens if in the future if def else
isn't<00:26:07.410><c> around</c><00:26:07.559><c> to</c><00:26:07.679><c> keep</c><00:26:07.890><c> tuning</c><00:26:08.250><c> profile</c><00:26:08.730><c> for</c>

00:26:09.260 --> 00:26:09.270 align:start position:0%
isn't around to keep tuning profile for
 

00:26:09.270 --> 00:26:11.390 align:start position:0%
isn't around to keep tuning profile for
the<00:26:09.360><c> next</c><00:26:09.630><c> generation</c><00:26:10.140><c> of</c><00:26:10.350><c> GPUs</c><00:26:11.070><c> when</c><00:26:11.280><c> they</c>

00:26:11.390 --> 00:26:11.400 align:start position:0%
the next generation of GPUs when they
 

00:26:11.400 --> 00:26:12.650 align:start position:0%
the next generation of GPUs when they
come<00:26:11.580><c> out</c><00:26:11.700><c> in</c><00:26:11.910><c> six</c><00:26:12.179><c> years</c>

00:26:12.650 --> 00:26:12.660 align:start position:0%
come out in six years
 

00:26:12.660 --> 00:26:17.000 align:start position:0%
come out in six years
well<00:26:13.440><c> any</c><00:26:14.240><c> GPU</c><00:26:15.240><c> architect</c><00:26:15.960><c> and</c><00:26:16.200><c> their</c><00:26:16.410><c> there</c>

00:26:17.000 --> 00:26:17.010 align:start position:0%
well any GPU architect and their there
 

00:26:17.010 --> 00:26:19.760 align:start position:0%
well any GPU architect and their there
are<00:26:17.040><c> thousands</c><00:26:17.520><c> of</c><00:26:17.580><c> them</c><00:26:17.760><c> can</c><00:26:18.450><c> go</c><00:26:18.630><c> and</c><00:26:18.960><c> open</c><00:26:19.500><c> up</c>

00:26:19.760 --> 00:26:19.770 align:start position:0%
are thousands of them can go and open up
 

00:26:19.770 --> 00:26:22.700 align:start position:0%
are thousands of them can go and open up
the<00:26:20.340><c> videos</c><00:26:20.640><c> profile</c><00:26:21.179><c> or</c><00:26:21.390><c> AMD's</c><00:26:22.050><c> codec</c><00:26:22.470><c> cell</c>

00:26:22.700 --> 00:26:22.710 align:start position:0%
the videos profile or AMD's codec cell
 

00:26:22.710 --> 00:26:25.940 align:start position:0%
the videos profile or AMD's codec cell
and<00:26:22.920><c> simply</c><00:26:23.520><c> tune</c><00:26:23.760><c> these</c><00:26:23.910><c> parameters</c><00:26:24.800><c> to</c><00:26:25.800><c> make</c>

00:26:25.940 --> 00:26:25.950 align:start position:0%
and simply tune these parameters to make
 

00:26:25.950 --> 00:26:27.410 align:start position:0%
and simply tune these parameters to make
sure<00:26:26.190><c> that</c><00:26:26.400><c> the</c><00:26:26.520><c> GPU</c><00:26:26.880><c> is</c><00:26:27.000><c> completely</c>

00:26:27.410 --> 00:26:27.420 align:start position:0%
sure that the GPU is completely
 

00:26:27.420 --> 00:26:30.260 align:start position:0%
sure that the GPU is completely
saturated<00:26:27.929><c> and</c><00:26:28.520><c> quite</c><00:26:29.520><c> frankly</c><00:26:29.700><c> we</c><00:26:30.060><c> shouldn't</c>

00:26:30.260 --> 00:26:30.270 align:start position:0%
saturated and quite frankly we shouldn't
 

00:26:30.270 --> 00:26:32.090 align:start position:0%
saturated and quite frankly we shouldn't
be<00:26:30.450><c> on</c><00:26:30.570><c> proof</c><00:26:30.780><c> of</c><00:26:30.929><c> work</c><00:26:31.080><c> for</c><00:26:31.290><c> aetherium</c><00:26:31.620><c> in</c><00:26:31.860><c> six</c>

00:26:32.090 --> 00:26:32.100 align:start position:0%
be on proof of work for aetherium in six
 

00:26:32.100 --> 00:26:33.350 align:start position:0%
be on proof of work for aetherium in six
years<00:26:32.190><c> otherwise</c><00:26:32.730><c> I'll</c><00:26:32.970><c> be</c><00:26:33.090><c> very</c>

00:26:33.350 --> 00:26:33.360 align:start position:0%
years otherwise I'll be very
 

00:26:33.360 --> 00:26:35.110 align:start position:0%
years otherwise I'll be very
disappointed

00:26:35.110 --> 00:26:35.120 align:start position:0%
disappointed
 

00:26:35.120 --> 00:26:38.299 align:start position:0%
disappointed
and<00:26:36.120><c> really</c><00:26:36.480><c> that's</c><00:26:36.929><c> that's</c><00:26:37.530><c> it</c><00:26:37.770><c> that's</c><00:26:38.100><c> the</c>

00:26:38.299 --> 00:26:38.309 align:start position:0%
and really that's that's it that's the
 

00:26:38.309 --> 00:26:40.190 align:start position:0%
and really that's that's it that's the
technical<00:26:38.669><c> walkthrough</c><00:26:39.240><c> of</c><00:26:39.299><c> Prague</c><00:26:39.600><c> pal</c><00:26:39.840><c> it</c>

00:26:40.190 --> 00:26:40.200 align:start position:0%
technical walkthrough of Prague pal it
 

00:26:40.200 --> 00:26:41.950 align:start position:0%
technical walkthrough of Prague pal it
doesn't<00:26:40.919><c> have</c><00:26:41.039><c> to</c><00:26:41.190><c> be</c><00:26:41.280><c> that</c><00:26:41.429><c> complex</c>

00:26:41.950 --> 00:26:41.960 align:start position:0%
doesn't have to be that complex
 

00:26:41.960 --> 00:26:43.100 align:start position:0%
doesn't have to be that complex
proof-of-work

00:26:43.100 --> 00:26:43.110 align:start position:0%
proof-of-work
 

00:26:43.110 --> 00:26:45.649 align:start position:0%
proof-of-work
like<00:26:43.500><c> I</c><00:26:43.650><c> said</c><00:26:43.860><c> it's</c><00:26:44.250><c> just</c><00:26:44.460><c> about</c><00:26:44.669><c> matching</c><00:26:45.150><c> the</c>

00:26:45.649 --> 00:26:45.659 align:start position:0%
like I said it's just about matching the
 

00:26:45.659 --> 00:26:48.320 align:start position:0%
like I said it's just about matching the
algorithm<00:26:46.320><c> to</c><00:26:46.650><c> the</c><00:26:46.860><c> hardware</c><00:26:47.280><c> just</c><00:26:48.120><c> through</c>

00:26:48.320 --> 00:26:48.330 align:start position:0%
algorithm to the hardware just through
 

00:26:48.330 --> 00:26:53.659 align:start position:0%
algorithm to the hardware just through
some<00:26:48.360><c> minor</c><00:26:48.780><c> chains</c><00:26:49.580><c> changes</c><00:26:51.590><c> and</c><00:26:52.590><c> so</c><00:26:52.890><c> that's</c>

00:26:53.659 --> 00:26:53.669 align:start position:0%
some minor chains changes and so that's
 

00:26:53.669 --> 00:27:04.669 align:start position:0%
some minor chains changes and so that's
it<00:26:53.909><c> thank</c><00:26:54.720><c> you</c><00:26:54.840><c> very</c><00:26:54.990><c> much</c><00:27:02.690><c> so</c><00:27:03.690><c> I</c><00:27:04.080><c> imagine</c>

00:27:04.669 --> 00:27:04.679 align:start position:0%
it thank you very much so I imagine
 

00:27:04.679 --> 00:27:06.140 align:start position:0%
it thank you very much so I imagine
there's<00:27:05.010><c> going</c><00:27:05.070><c> to</c><00:27:05.190><c> be</c><00:27:05.250><c> tons</c><00:27:05.490><c> of</c><00:27:05.640><c> questions</c>

00:27:06.140 --> 00:27:06.150 align:start position:0%
there's going to be tons of questions
 

00:27:06.150 --> 00:27:25.190 align:start position:0%
there's going to be tons of questions
and<00:27:06.360><c> I'm</c><00:27:06.450><c> petrified</c><00:27:07.289><c> and</c><00:27:08.570><c> so</c><00:27:09.570><c> shoot</c><00:27:24.200><c> great</c>

00:27:25.190 --> 00:27:25.200 align:start position:0%
and I'm petrified and so shoot great
 

00:27:25.200 --> 00:27:27.260 align:start position:0%
and I'm petrified and so shoot great
talk<00:27:25.380><c> thank</c><00:27:25.620><c> you</c><00:27:25.740><c> I</c><00:27:26.220><c> want</c><00:27:26.909><c> to</c><00:27:26.940><c> play</c><00:27:27.090><c> devil's</c>

00:27:27.260 --> 00:27:27.270 align:start position:0%
talk thank you I want to play devil's
 

00:27:27.270 --> 00:27:30.610 align:start position:0%
talk thank you I want to play devil's
advocate<00:27:27.510><c> and</c><00:27:28.250><c> challenged</c><00:27:29.250><c> the</c><00:27:29.820><c> premise</c><00:27:30.179><c> that</c>

00:27:30.610 --> 00:27:30.620 align:start position:0%
advocate and challenged the premise that
 

00:27:30.620 --> 00:27:32.899 align:start position:0%
advocate and challenged the premise that
utilization<00:27:31.620><c> and</c><00:27:31.770><c> saturation</c><00:27:32.309><c> is</c><00:27:32.520><c> actually</c><00:27:32.880><c> a</c>

00:27:32.899 --> 00:27:32.909 align:start position:0%
utilization and saturation is actually a
 

00:27:32.909 --> 00:27:38.000 align:start position:0%
utilization and saturation is actually a
valid<00:27:33.780><c> metric</c><00:27:34.230><c> and</c><00:27:34.440><c> the</c><00:27:35.190><c> reason</c><00:27:35.580><c> is</c><00:27:36.020><c> as</c><00:27:37.020><c> a</c><00:27:37.289><c> GPU</c>

00:27:38.000 --> 00:27:38.010 align:start position:0%
valid metric and the reason is as a GPU
 

00:27:38.010 --> 00:27:41.600 align:start position:0%
valid metric and the reason is as a GPU
designer<00:27:38.929><c> you're</c><00:27:39.929><c> not</c><00:27:40.169><c> looking</c><00:27:41.010><c> to</c><00:27:41.220><c> solely</c>

00:27:41.600 --> 00:27:41.610 align:start position:0%
designer you're not looking to solely
 

00:27:41.610 --> 00:27:44.720 align:start position:0%
designer you're not looking to solely
optimize<00:27:42.470><c> energy</c><00:27:43.470><c> expenditure</c><00:27:44.039><c> per</c><00:27:44.190><c> unit</c><00:27:44.520><c> of</c>

00:27:44.720 --> 00:27:44.730 align:start position:0%
optimize energy expenditure per unit of
 

00:27:44.730 --> 00:27:46.789 align:start position:0%
optimize energy expenditure per unit of
proof<00:27:45.090><c> of</c><00:27:45.210><c> work</c><00:27:45.390><c> what</c><00:27:46.140><c> you're</c><00:27:46.289><c> trying</c><00:27:46.500><c> to</c><00:27:46.559><c> do</c>

00:27:46.789 --> 00:27:46.799 align:start position:0%
proof of work what you're trying to do
 

00:27:46.799 --> 00:27:49.430 align:start position:0%
proof of work what you're trying to do
is<00:27:47.070><c> you're</c><00:27:47.460><c> designing</c><00:27:47.820><c> for</c><00:27:47.909><c> gamers</c><00:27:48.440><c> where</c>

00:27:49.430 --> 00:27:49.440 align:start position:0%
is you're designing for gamers where
 

00:27:49.440 --> 00:27:52.250 align:start position:0%
is you're designing for gamers where
performance<00:27:50.070><c> is</c><00:27:50.340><c> a</c><00:27:50.700><c> key</c><00:27:50.970><c> thing</c><00:27:51.179><c> and</c><00:27:51.780><c> also</c><00:27:52.200><c> you</c>

00:27:52.250 --> 00:27:52.260 align:start position:0%
performance is a key thing and also you
 

00:27:52.260 --> 00:27:54.350 align:start position:0%
performance is a key thing and also you
have<00:27:52.500><c> constraints</c><00:27:52.950><c> in</c><00:27:53.130><c> terms</c><00:27:53.159><c> of</c><00:27:53.490><c> diarrhea</c><00:27:54.059><c> so</c>

00:27:54.350 --> 00:27:54.360 align:start position:0%
have constraints in terms of diarrhea so
 

00:27:54.360 --> 00:27:55.789 align:start position:0%
have constraints in terms of diarrhea so
you<00:27:54.419><c> want</c><00:27:54.630><c> to</c><00:27:54.720><c> optimize</c><00:27:55.080><c> for</c><00:27:55.440><c> power</c><00:27:55.620><c> so</c>

00:27:55.789 --> 00:27:55.799 align:start position:0%
you want to optimize for power so
 

00:27:55.799 --> 00:27:57.159 align:start position:0%
you want to optimize for power so
basically<00:27:56.070><c> what</c><00:27:56.220><c> you</c><00:27:56.309><c> do</c><00:27:56.490><c> is</c><00:27:56.669><c> that</c><00:27:56.700><c> you</c><00:27:56.850><c> will</c>

00:27:57.159 --> 00:27:57.169 align:start position:0%
basically what you do is that you will
 

00:27:57.169 --> 00:28:00.080 align:start position:0%
basically what you do is that you will
design<00:27:58.169><c> your</c><00:27:58.289><c> ASIC</c><00:27:58.650><c> to</c><00:27:58.830><c> have</c><00:27:59.039><c> a</c><00:27:59.090><c> reasonable</c>

00:28:00.080 --> 00:28:00.090 align:start position:0%
design your ASIC to have a reasonable
 

00:28:00.090 --> 00:28:03.190 align:start position:0%
design your ASIC to have a reasonable
trade-off<00:28:00.480><c> between</c><00:28:00.630><c> performance</c><00:28:01.400><c> power</c><00:28:02.400><c> and</c>

00:28:03.190 --> 00:28:03.200 align:start position:0%
trade-off between performance power and
 

00:28:03.200 --> 00:28:09.680 align:start position:0%
trade-off between performance power and
diarrhea<00:28:04.200><c> but</c><00:28:05.190><c> as</c><00:28:06.230><c> as</c><00:28:07.230><c> a</c><00:28:07.320><c> miner</c><00:28:08.390><c> the</c><00:28:09.390><c> only</c>

00:28:09.680 --> 00:28:09.690 align:start position:0%
diarrhea but as as a miner the only
 

00:28:09.690 --> 00:28:12.430 align:start position:0%
diarrhea but as as a miner the only
thing<00:28:09.840><c> you</c><00:28:09.960><c> care</c><00:28:10.169><c> about</c><00:28:10.200><c> is</c><00:28:10.590><c> power</c><00:28:11.419><c> energy</c>

00:28:12.430 --> 00:28:12.440 align:start position:0%
thing you care about is power energy
 

00:28:12.440 --> 00:28:16.130 align:start position:0%
thing you care about is power energy
spent<00:28:13.440><c> units</c><00:28:14.280><c> of</c><00:28:14.400><c> proof</c><00:28:14.580><c> of</c><00:28:14.700><c> work</c><00:28:14.850><c> so</c><00:28:15.480><c> you</c>

00:28:16.130 --> 00:28:16.140 align:start position:0%
spent units of proof of work so you
 

00:28:16.140 --> 00:28:18.620 align:start position:0%
spent units of proof of work so you
could<00:28:16.380><c> build</c><00:28:17.039><c> something</c><00:28:17.970><c> that</c><00:28:18.360><c> is</c>

00:28:18.620 --> 00:28:18.630 align:start position:0%
could build something that is
 

00:28:18.630 --> 00:28:21.860 align:start position:0%
could build something that is
functionally<00:28:19.440><c> equivalent</c><00:28:20.100><c> to</c><00:28:20.700><c> an</c><00:28:20.789><c> ASIC</c><00:28:21.120><c> but</c>

00:28:21.860 --> 00:28:21.870 align:start position:0%
functionally equivalent to an ASIC but
 

00:28:21.870 --> 00:28:24.830 align:start position:0%
functionally equivalent to an ASIC but
might<00:28:22.260><c> have</c><00:28:22.559><c> you</c><00:28:23.159><c> know</c><00:28:23.190><c> a</c><00:28:23.309><c> larger</c><00:28:23.850><c> area</c><00:28:24.299><c> or</c>

00:28:24.830 --> 00:28:24.840 align:start position:0%
might have you know a larger area or
 

00:28:24.840 --> 00:28:27.980 align:start position:0%
might have you know a larger area or
might<00:28:25.169><c> have</c><00:28:25.409><c> a</c><00:28:25.770><c> higher</c><00:28:26.100><c> latency</c><00:28:26.370><c> but</c><00:28:27.179><c> consume</c>

00:28:27.980 --> 00:28:27.990 align:start position:0%
might have a higher latency but consume
 

00:28:27.990 --> 00:28:30.500 align:start position:0%
might have a higher latency but consume
I'd<00:28:28.289><c> say</c><00:28:28.470><c> ten</c><00:28:28.890><c> times</c><00:28:29.039><c> less</c><00:28:29.340><c> energy</c><00:28:29.640><c> per</c><00:28:30.480><c> unit</c>

00:28:30.500 --> 00:28:30.510 align:start position:0%
I'd say ten times less energy per unit
 

00:28:30.510 --> 00:28:33.830 align:start position:0%
I'd say ten times less energy per unit
of<00:28:30.750><c> work</c><00:28:30.929><c> and</c><00:28:31.610><c> utilization</c><00:28:32.610><c> which</c><00:28:33.150><c> would</c><00:28:33.720><c> be</c><00:28:33.809><c> a</c>

00:28:33.830 --> 00:28:33.840 align:start position:0%
of work and utilization which would be a
 

00:28:33.840 --> 00:28:36.049 align:start position:0%
of work and utilization which would be a
hundred<00:28:33.990><c> percent</c><00:28:34.200><c> but</c><00:28:34.559><c> you</c><00:28:34.799><c> know</c><00:28:35.549><c> from</c><00:28:35.669><c> your</c>

00:28:36.049 --> 00:28:36.059 align:start position:0%
hundred percent but you know from your
 

00:28:36.059 --> 00:28:38.630 align:start position:0%
hundred percent but you know from your
perspective<00:28:36.179><c> that</c><00:28:36.780><c> it's</c><00:28:37.230><c> not</c><00:28:37.380><c> a</c><00:28:37.980><c> good</c><00:28:38.460><c> metric</c>

00:28:38.630 --> 00:28:38.640 align:start position:0%
perspective that it's not a good metric
 

00:28:38.640 --> 00:28:40.730 align:start position:0%
perspective that it's not a good metric
so<00:28:39.360><c> there</c><00:28:39.809><c> are</c><00:28:39.929><c> three</c><00:28:40.140><c> things</c><00:28:40.320><c> to</c><00:28:40.559><c> address</c>

00:28:40.730 --> 00:28:40.740 align:start position:0%
so there are three things to address
 

00:28:40.740 --> 00:28:44.450 align:start position:0%
so there are three things to address
there<00:28:41.809><c> one</c><00:28:42.809><c> is</c><00:28:42.929><c> a</c><00:28:43.070><c> philosophical</c><00:28:44.070><c> thing</c><00:28:44.130><c> where</c>

00:28:44.450 --> 00:28:44.460 align:start position:0%
there one is a philosophical thing where
 

00:28:44.460 --> 00:28:45.980 align:start position:0%
there one is a philosophical thing where
we<00:28:44.549><c> talk</c><00:28:44.700><c> about</c><00:28:44.880><c> what</c><00:28:45.299><c> proof</c><00:28:45.630><c> of</c><00:28:45.780><c> work</c>

00:28:45.980 --> 00:28:45.990 align:start position:0%
we talk about what proof of work
 

00:28:45.990 --> 00:28:47.340 align:start position:0%
we talk about what proof of work
actually<00:28:46.559><c> meant</c><00:28:46.830><c> when</c><00:28:46.980><c> it</c><00:28:47.070><c> was</c><00:28:47.159><c> a</c>

00:28:47.340 --> 00:28:47.350 align:start position:0%
actually meant when it was a
 

00:28:47.350 --> 00:28:50.760 align:start position:0%
actually meant when it was a
created<00:28:48.010><c> you</c><00:28:48.610><c> know</c><00:28:48.730><c> proof-of-work</c><00:28:49.650><c> kind</c><00:28:50.650><c> of</c>

00:28:50.760 --> 00:28:50.770 align:start position:0%
created you know proof-of-work kind of
 

00:28:50.770 --> 00:28:53.820 align:start position:0%
created you know proof-of-work kind of
means<00:28:50.950><c> work</c><00:28:51.220><c> AKA</c><00:28:51.850><c> energy</c><00:28:52.419><c> expended</c><00:28:52.990><c> but</c>

00:28:53.820 --> 00:28:53.830 align:start position:0%
means work AKA energy expended but
 

00:28:53.830 --> 00:28:55.260 align:start position:0%
means work AKA energy expended but
that's<00:28:53.980><c> really</c><00:28:54.190><c> a</c><00:28:54.280><c> philosophical</c><00:28:54.549><c> debate</c>

00:28:55.260 --> 00:28:55.270 align:start position:0%
that's really a philosophical debate
 

00:28:55.270 --> 00:28:57.930 align:start position:0%
that's really a philosophical debate
from<00:28:56.169><c> a</c><00:28:56.260><c> minders</c><00:28:56.650><c> stand</c><00:28:56.980><c> for</c><00:28:57.520><c> miners</c>

00:28:57.930 --> 00:28:57.940 align:start position:0%
from a minders stand for miners
 

00:28:57.940 --> 00:29:00.960 align:start position:0%
from a minders stand for miners
standpoint<00:28:59.100><c> miners</c><00:29:00.100><c> really</c><00:29:00.520><c> care</c><00:29:00.789><c> about</c>

00:29:00.960 --> 00:29:00.970 align:start position:0%
standpoint miners really care about
 

00:29:00.970 --> 00:29:04.110 align:start position:0%
standpoint miners really care about
balance<00:29:01.720><c> now</c><00:29:02.440><c> prog</c><00:29:02.919><c> pal</c><00:29:03.220><c> it</c><00:29:03.549><c> does</c><00:29:03.760><c> consume</c>

00:29:04.110 --> 00:29:04.120 align:start position:0%
balance now prog pal it does consume
 

00:29:04.120 --> 00:29:07.080 align:start position:0%
balance now prog pal it does consume
more<00:29:04.390><c> more</c><00:29:04.870><c> power</c><00:29:05.080><c> simply</c><00:29:05.770><c> because</c><00:29:06.130><c> it</c><00:29:06.280><c> uses</c>

00:29:07.080 --> 00:29:07.090 align:start position:0%
more more power simply because it uses
 

00:29:07.090 --> 00:29:09.810 align:start position:0%
more more power simply because it uses
the<00:29:07.480><c> core</c><00:29:07.870><c> which</c><00:29:08.110><c> was</c><00:29:08.320><c> not</c><00:29:08.500><c> used</c><00:29:08.679><c> before</c><00:29:08.890><c> but</c>

00:29:09.810 --> 00:29:09.820 align:start position:0%
the core which was not used before but
 

00:29:09.820 --> 00:29:12.570 align:start position:0%
the core which was not used before but
the<00:29:10.240><c> important</c><00:29:10.720><c> thing</c><00:29:10.870><c> with</c><00:29:10.990><c> that</c><00:29:11.169><c> is</c><00:29:11.580><c> that</c>

00:29:12.570 --> 00:29:12.580 align:start position:0%
the important thing with that is that
 

00:29:12.580 --> 00:29:16.080 align:start position:0%
the important thing with that is that
you<00:29:13.330><c> take</c><00:29:13.539><c> an</c><00:29:13.720><c> ASIC</c><00:29:14.070><c> that</c><00:29:15.070><c> also</c><00:29:15.340><c> has</c><00:29:15.669><c> the</c><00:29:15.880><c> core</c>

00:29:16.080 --> 00:29:16.090 align:start position:0%
you take an ASIC that also has the core
 

00:29:16.090 --> 00:29:19.049 align:start position:0%
you take an ASIC that also has the core
also<00:29:16.419><c> has</c><00:29:16.809><c> the</c><00:29:16.960><c> memory</c><00:29:17.140><c> take</c><00:29:17.770><c> a</c><00:29:17.799><c> GPU</c><00:29:18.190><c> same</c><00:29:18.820><c> it</c>

00:29:19.049 --> 00:29:19.059 align:start position:0%
also has the memory take a GPU same it
 

00:29:19.059 --> 00:29:21.960 align:start position:0%
also has the memory take a GPU same it
will<00:29:19.270><c> match</c><00:29:20.130><c> your</c><00:29:21.130><c> other</c><00:29:21.340><c> point</c><00:29:21.669><c> was</c><00:29:21.909><c> that</c>

00:29:21.960 --> 00:29:21.970 align:start position:0%
will match your other point was that
 

00:29:21.970 --> 00:29:25.710 align:start position:0%
will match your other point was that
miners<00:29:22.720><c> only</c><00:29:23.200><c> care</c><00:29:23.500><c> about</c><00:29:23.530><c> power</c><00:29:24.070><c> but</c><00:29:24.640><c> I'd</c><00:29:25.090><c> I'd</c>

00:29:25.710 --> 00:29:25.720 align:start position:0%
miners only care about power but I'd I'd
 

00:29:25.720 --> 00:29:30.270 align:start position:0%
miners only care about power but I'd I'd
really<00:29:26.140><c> contest</c><00:29:26.530><c> that</c><00:29:27.900><c> miners</c><00:29:28.919><c> really</c><00:29:29.919><c> really</c>

00:29:30.270 --> 00:29:30.280 align:start position:0%
really contest that miners really really
 

00:29:30.280 --> 00:29:33.539 align:start position:0%
really contest that miners really really
just<00:29:30.460><c> care</c><00:29:30.730><c> about</c><00:29:30.760><c> fairness</c><00:29:32.100><c> that's</c><00:29:33.100><c> that's</c>

00:29:33.539 --> 00:29:33.549 align:start position:0%
just care about fairness that's that's
 

00:29:33.549 --> 00:29:35.700 align:start position:0%
just care about fairness that's that's
the<00:29:33.730><c> crux</c><00:29:33.940><c> of</c><00:29:34.120><c> it</c><00:29:34.210><c> we</c><00:29:34.539><c> care</c><00:29:34.780><c> about</c><00:29:34.960><c> being</c><00:29:35.470><c> able</c>

00:29:35.700 --> 00:29:35.710 align:start position:0%
the crux of it we care about being able
 

00:29:35.710 --> 00:29:38.580 align:start position:0%
the crux of it we care about being able
to<00:29:36.159><c> all</c><00:29:37.000><c> be</c><00:29:37.330><c> on</c><00:29:37.450><c> the</c><00:29:37.480><c> same</c><00:29:37.840><c> playing</c><00:29:38.110><c> field</c><00:29:38.230><c> in</c>

00:29:38.580 --> 00:29:38.590 align:start position:0%
to all be on the same playing field in
 

00:29:38.590 --> 00:29:41.010 align:start position:0%
to all be on the same playing field in
the<00:29:39.549><c> same</c><00:29:39.760><c> level</c><00:29:39.970><c> field</c><00:29:40.330><c> and</c><00:29:40.630><c> then</c><00:29:40.929><c> you</c>

00:29:41.010 --> 00:29:41.020 align:start position:0%
the same level field and then you
 

00:29:41.020 --> 00:29:43.110 align:start position:0%
the same level field and then you
touched<00:29:41.289><c> on</c><00:29:41.500><c> the</c><00:29:41.620><c> fact</c><00:29:41.650><c> that</c><00:29:41.950><c> GPUs</c><00:29:42.549><c> are</c><00:29:42.730><c> just</c>

00:29:43.110 --> 00:29:43.120 align:start position:0%
touched on the fact that GPUs are just
 

00:29:43.120 --> 00:29:44.669 align:start position:0%
touched on the fact that GPUs are just
naturally<00:29:43.510><c> tuned</c><00:29:43.720><c> for</c><00:29:43.929><c> video</c><00:29:44.169><c> games</c><00:29:44.440><c> that's</c>

00:29:44.669 --> 00:29:44.679 align:start position:0%
naturally tuned for video games that's
 

00:29:44.679 --> 00:29:47.520 align:start position:0%
naturally tuned for video games that's
not<00:29:44.890><c> true</c><00:29:45.100><c> at</c><00:29:45.190><c> all</c><00:29:45.340><c> see</c><00:29:46.059><c> GPUs</c><00:29:46.480><c> are</c><00:29:46.659><c> tuned</c><00:29:47.200><c> for</c>

00:29:47.520 --> 00:29:47.530 align:start position:0%
not true at all see GPUs are tuned for
 

00:29:47.530 --> 00:29:52.169 align:start position:0%
not true at all see GPUs are tuned for
maths<00:29:48.419><c> geforce</c><00:29:49.419><c> cards</c><00:29:50.080><c> and</c><00:29:50.350><c> AMD's</c><00:29:51.250><c> gaming</c>

00:29:52.169 --> 00:29:52.179 align:start position:0%
maths geforce cards and AMD's gaming
 

00:29:52.179 --> 00:29:55.560 align:start position:0%
maths geforce cards and AMD's gaming
line<00:29:52.360><c> sure</c><00:29:52.809><c> it's</c><00:29:52.960><c> tuned</c><00:29:53.289><c> for</c><00:29:53.559><c> FPS</c><00:29:54.340><c> but</c><00:29:55.179><c> by</c>

00:29:55.560 --> 00:29:55.570 align:start position:0%
line sure it's tuned for FPS but by
 

00:29:55.570 --> 00:29:57.210 align:start position:0%
line sure it's tuned for FPS but by
modifying<00:29:55.990><c> the</c><00:29:56.169><c> firmware</c><00:29:56.559><c> you</c><00:29:56.710><c> can</c><00:29:56.830><c> also</c><00:29:56.950><c> just</c>

00:29:57.210 --> 00:29:57.220 align:start position:0%
modifying the firmware you can also just
 

00:29:57.220 --> 00:29:59.039 align:start position:0%
modifying the firmware you can also just
tune<00:29:57.460><c> it</c><00:29:57.549><c> for</c><00:29:57.580><c> math</c><00:29:57.880><c> that's</c><00:29:58.570><c> the</c><00:29:58.720><c> great</c><00:29:59.020><c> thing</c>

00:29:59.039 --> 00:29:59.049 align:start position:0%
tune it for math that's the great thing
 

00:29:59.049 --> 00:30:01.140 align:start position:0%
tune it for math that's the great thing
about<00:29:59.320><c> GPUs</c><00:29:59.919><c> they're</c><00:30:00.130><c> tunable</c><00:30:01.030><c> and</c>

00:30:01.140 --> 00:30:01.150 align:start position:0%
about GPUs they're tunable and
 

00:30:01.150 --> 00:30:04.680 align:start position:0%
about GPUs they're tunable and
programmable<00:30:01.690><c> and</c><00:30:01.929><c> customizable</c><00:30:03.539><c> what</c><00:30:04.539><c> was</c>

00:30:04.680 --> 00:30:04.690 align:start position:0%
programmable and customizable what was
 

00:30:04.690 --> 00:30:06.360 align:start position:0%
programmable and customizable what was
what<00:30:05.140><c> was</c><00:30:05.320><c> the</c><00:30:05.350><c> other</c><00:30:05.590><c> parts</c><00:30:06.010><c> of</c><00:30:06.309><c> your</c>

00:30:06.360 --> 00:30:06.370 align:start position:0%
what was the other parts of your
 

00:30:06.370 --> 00:30:15.700 align:start position:0%
what was the other parts of your
question

00:30:15.700 --> 00:30:15.710 align:start position:0%
 
 

00:30:15.710 --> 00:30:24.169 align:start position:0%
 
you<00:30:20.480><c> can</c><00:30:21.480><c> try</c><00:30:21.720><c> and</c><00:30:21.870><c> minimize</c><00:30:22.650><c> latency</c><00:30:23.490><c> you</c><00:30:24.030><c> can</c>

00:30:24.169 --> 00:30:24.179 align:start position:0%
you can try and minimize latency you can
 

00:30:24.179 --> 00:30:26.390 align:start position:0%
you can try and minimize latency you can
try<00:30:24.360><c> and</c><00:30:24.480><c> minimize</c><00:30:24.870><c> area</c><00:30:25.590><c> or</c><00:30:25.799><c> you</c><00:30:25.950><c> can</c><00:30:26.130><c> try</c><00:30:26.340><c> and</c>

00:30:26.390 --> 00:30:26.400 align:start position:0%
try and minimize area or you can try and
 

00:30:26.400 --> 00:30:29.150 align:start position:0%
try and minimize area or you can try and
minimize<00:30:26.850><c> power</c><00:30:27.650><c> you</c><00:30:28.650><c> could</c><00:30:28.799><c> find</c><00:30:29.039><c> a</c>

00:30:29.150 --> 00:30:29.160 align:start position:0%
minimize power you could find a
 

00:30:29.160 --> 00:30:31.610 align:start position:0%
minimize power you could find a
reasonable<00:30:29.610><c> trade-off</c><00:30:30.120><c> if</c><00:30:30.809><c> I</c><00:30:31.110><c> was</c><00:30:31.380><c> to</c><00:30:31.500><c> go</c>

00:30:31.610 --> 00:30:31.620 align:start position:0%
reasonable trade-off if I was to go
 

00:30:31.620 --> 00:30:34.880 align:start position:0%
reasonable trade-off if I was to go
ahead<00:30:32.010><c> and</c><00:30:32.429><c> build</c><00:30:32.640><c> an</c><00:30:32.700><c> ASIC</c><00:30:33.059><c> for</c><00:30:33.679><c> pro</c><00:30:34.679><c> power</c>

00:30:34.880 --> 00:30:34.890 align:start position:0%
ahead and build an ASIC for pro power
 

00:30:34.890 --> 00:30:40.419 align:start position:0%
ahead and build an ASIC for pro power
what<00:30:35.549><c> I</c><00:30:35.610><c> would</c><00:30:35.789><c> do</c><00:30:36.000><c> is</c><00:30:36.330><c> I</c><00:30:36.840><c> would</c><00:30:38.600><c> make</c><00:30:39.600><c> it</c>

00:30:40.419 --> 00:30:40.429 align:start position:0%
what I would do is I would make it
 

00:30:40.429 --> 00:30:43.340 align:start position:0%
what I would do is I would make it
energy<00:30:41.429><c> efficient</c><00:30:41.880><c> first</c><00:30:42.150><c> so</c><00:30:42.720><c> I</c><00:30:42.750><c> would</c><00:30:43.020><c> choose</c>

00:30:43.340 --> 00:30:43.350 align:start position:0%
energy efficient first so I would choose
 

00:30:43.350 --> 00:30:47.029 align:start position:0%
energy efficient first so I would choose
my<00:30:43.620><c> cells</c><00:30:44.280><c> extremely</c><00:30:44.820><c> carefully</c><00:30:45.270><c> so</c><00:30:45.960><c> that</c><00:30:46.039><c> you</c>

00:30:47.029 --> 00:30:47.039 align:start position:0%
my cells extremely carefully so that you
 

00:30:47.039 --> 00:30:49.430 align:start position:0%
my cells extremely carefully so that you
know<00:30:47.160><c> I</c><00:30:47.190><c> don't</c><00:30:47.309><c> care</c><00:30:47.700><c> if</c><00:30:47.880><c> the</c><00:30:48.150><c> 10x</c><00:30:48.780><c> the</c><00:30:48.960><c> latency</c>

00:30:49.430 --> 00:30:49.440 align:start position:0%
know I don't care if the 10x the latency
 

00:30:49.440 --> 00:30:53.600 align:start position:0%
know I don't care if the 10x the latency
or<00:30:49.710><c> if</c><00:30:50.100><c> the</c><00:30:50.309><c> 3x</c><00:30:50.940><c> the</c><00:30:51.510><c> die</c><00:30:51.690><c> area</c><00:30:52.130><c> all</c><00:30:53.130><c> I</c><00:30:53.190><c> care</c>

00:30:53.600 --> 00:30:53.610 align:start position:0%
or if the 3x the die area all I care
 

00:30:53.610 --> 00:30:56.419 align:start position:0%
or if the 3x the die area all I care
about<00:30:53.640><c> because</c><00:30:54.179><c> the</c><00:30:54.870><c> revenue</c><00:30:55.650><c> as</c><00:30:55.770><c> a</c><00:30:55.799><c> minor</c><00:30:56.100><c> is</c>

00:30:56.419 --> 00:30:56.429 align:start position:0%
about because the revenue as a minor is
 

00:30:56.429 --> 00:30:59.980 align:start position:0%
about because the revenue as a minor is
basically<00:30:57.049><c> going</c><00:30:58.049><c> to</c><00:30:58.140><c> be</c><00:30:58.230><c> proportional</c><00:30:58.650><c> to</c>

00:30:59.980 --> 00:30:59.990 align:start position:0%
basically going to be proportional to
 

00:30:59.990 --> 00:31:05.539 align:start position:0%
basically going to be proportional to
the<00:31:01.130><c> the</c><00:31:02.130><c> amount</c><00:31:03.470><c> of</c><00:31:04.470><c> work</c><00:31:04.890><c> that</c><00:31:05.159><c> you</c><00:31:05.220><c> can</c><00:31:05.340><c> get</c>

00:31:05.539 --> 00:31:05.549 align:start position:0%
the the amount of work that you can get
 

00:31:05.549 --> 00:31:08.960 align:start position:0%
the the amount of work that you can get
done<00:31:05.820><c> drool</c><00:31:06.510><c> can</c><00:31:06.870><c> burn</c><00:31:07.340><c> only</c><00:31:08.340><c> when</c><00:31:08.820><c> it's</c>

00:31:08.960 --> 00:31:08.970 align:start position:0%
done drool can burn only when it's
 

00:31:08.970 --> 00:31:11.510 align:start position:0%
done drool can burn only when it's
compared<00:31:09.419><c> to</c><00:31:09.630><c> other</c><00:31:09.809><c> miners</c><00:31:10.380><c> of</c><00:31:11.309><c> course</c>

00:31:11.510 --> 00:31:11.520 align:start position:0%
compared to other miners of course
 

00:31:11.520 --> 00:31:13.460 align:start position:0%
compared to other miners of course
that's<00:31:11.970><c> that's</c><00:31:12.330><c> the</c><00:31:12.539><c> difference</c><00:31:12.929><c> yes</c><00:31:13.140><c> so</c><00:31:13.350><c> the</c>

00:31:13.460 --> 00:31:13.470 align:start position:0%
that's that's the difference yes so the
 

00:31:13.470 --> 00:31:16.789 align:start position:0%
that's that's the difference yes so the
other<00:31:13.620><c> miners</c><00:31:14.010><c> will</c><00:31:14.220><c> use</c><00:31:14.750><c> GPUs</c><00:31:15.750><c> and</c><00:31:15.990><c> I</c><00:31:16.590><c> will</c>

00:31:16.789 --> 00:31:16.799 align:start position:0%
other miners will use GPUs and I will
 

00:31:16.799 --> 00:31:19.220 align:start position:0%
other miners will use GPUs and I will
use<00:31:17.130><c> something</c><00:31:17.669><c> that</c><00:31:17.909><c> is</c><00:31:18.230><c> functionally</c>

00:31:19.220 --> 00:31:19.230 align:start position:0%
use something that is functionally
 

00:31:19.230 --> 00:31:23.720 align:start position:0%
use something that is functionally
equivalent<00:31:19.590><c> to</c><00:31:20.220><c> GPU</c><00:31:20.610><c> but</c><00:31:21.360><c> is</c><00:31:22.460><c> potentially</c><00:31:23.460><c> has</c>

00:31:23.720 --> 00:31:23.730 align:start position:0%
equivalent to GPU but is potentially has
 

00:31:23.730 --> 00:31:29.000 align:start position:0%
equivalent to GPU but is potentially has
a<00:31:23.760><c> much</c><00:31:24.120><c> larger</c><00:31:24.360><c> diarrhea</c><00:31:25.080><c> and</c><00:31:25.740><c> runs</c><00:31:27.830><c> but</c><00:31:28.830><c> when</c>

00:31:29.000 --> 00:31:29.010 align:start position:0%
a much larger diarrhea and runs but when
 

00:31:29.010 --> 00:31:31.070 align:start position:0%
a much larger diarrhea and runs but when
you<00:31:29.190><c> when</c><00:31:29.490><c> you</c><00:31:29.640><c> go</c><00:31:29.789><c> and</c><00:31:29.909><c> build</c><00:31:30.059><c> a</c><00:31:30.210><c> propel</c><00:31:30.630><c> ASIC</c>

00:31:31.070 --> 00:31:31.080 align:start position:0%
you when you go and build a propel ASIC
 

00:31:31.080 --> 00:31:32.570 align:start position:0%
you when you go and build a propel ASIC
you're<00:31:31.260><c> only</c><00:31:31.440><c> going</c><00:31:31.710><c> to</c><00:31:31.830><c> be</c><00:31:31.950><c> able</c><00:31:32.130><c> to</c><00:31:32.250><c> shave</c>

00:31:32.570 --> 00:31:32.580 align:start position:0%
you're only going to be able to shave
 

00:31:32.580 --> 00:31:34.669 align:start position:0%
you're only going to be able to shave
off<00:31:32.820><c> I</c><00:31:33.179><c> get</c><00:31:33.570><c> your</c><00:31:33.690><c> question</c><00:31:34.020><c> now</c><00:31:34.140><c> you're</c>

00:31:34.669 --> 00:31:34.679 align:start position:0%
off I get your question now you're
 

00:31:34.679 --> 00:31:35.870 align:start position:0%
off I get your question now you're
talking<00:31:35.010><c> about</c><00:31:35.070><c> the</c><00:31:35.220><c> fact</c><00:31:35.490><c> that</c><00:31:35.549><c> you're</c><00:31:35.730><c> going</c>

00:31:35.870 --> 00:31:35.880 align:start position:0%
talking about the fact that you're going
 

00:31:35.880 --> 00:31:37.880 align:start position:0%
talking about the fact that you're going
to<00:31:35.909><c> shave</c><00:31:36.179><c> off</c><00:31:36.360><c> although</c><00:31:36.750><c> you</c><00:31:37.320><c> know</c><00:31:37.409><c> the</c><00:31:37.559><c> GPU</c>

00:31:37.880 --> 00:31:37.890 align:start position:0%
to shave off although you know the GPU
 

00:31:37.890 --> 00:31:39.529 align:start position:0%
to shave off although you know the GPU
pipelines<00:31:38.400><c> the</c><00:31:38.580><c> extra</c><00:31:38.940><c> Katia's</c><00:31:39.270><c> all</c><00:31:39.419><c> the</c>

00:31:39.529 --> 00:31:39.539 align:start position:0%
pipelines the extra Katia's all the
 

00:31:39.539 --> 00:31:41.419 align:start position:0%
pipelines the extra Katia's all the
things<00:31:39.780><c> we've</c><00:31:39.990><c> left</c><00:31:40.260><c> to</c><00:31:40.799><c> optimize</c><00:31:41.220><c> it</c><00:31:41.400><c> for</c>

00:31:41.419 --> 00:31:41.429 align:start position:0%
things we've left to optimize it for
 

00:31:41.429 --> 00:31:42.080 align:start position:0%
things we've left to optimize it for
power

00:31:42.080 --> 00:31:42.090 align:start position:0%
power
 

00:31:42.090 --> 00:31:44.180 align:start position:0%
power
it's<00:31:42.419><c> not</c><00:31:42.570><c> about</c><00:31:42.690><c> shaving</c><00:31:43.200><c> of</c><00:31:43.530><c> things</c><00:31:43.890><c> is</c>

00:31:44.180 --> 00:31:44.190 align:start position:0%
it's not about shaving of things is
 

00:31:44.190 --> 00:31:48.020 align:start position:0%
it's not about shaving of things is
about<00:31:45.230><c> fundamentally</c><00:31:46.610><c> designing</c><00:31:47.610><c> the</c>

00:31:48.020 --> 00:31:48.030 align:start position:0%
about fundamentally designing the
 

00:31:48.030 --> 00:31:51.470 align:start position:0%
about fundamentally designing the
circuit<00:31:49.070><c> optimized</c><00:31:50.070><c> for</c><00:31:50.460><c> power</c><00:31:50.820><c> as</c><00:31:51.210><c> opposed</c>

00:31:51.470 --> 00:31:51.480 align:start position:0%
circuit optimized for power as opposed
 

00:31:51.480 --> 00:31:53.419 align:start position:0%
circuit optimized for power as opposed
to<00:31:51.539><c> optimizing</c><00:31:52.080><c> you</c><00:31:52.350><c> can't</c><00:31:52.679><c> really</c><00:31:52.950><c> optimize</c>

00:31:53.419 --> 00:31:53.429 align:start position:0%
to optimizing you can't really optimize
 

00:31:53.429 --> 00:31:55.399 align:start position:0%
to optimizing you can't really optimize
for<00:31:53.730><c> power</c><00:31:53.880><c> when</c><00:31:54.240><c> you</c><00:31:54.360><c> just</c><00:31:54.600><c> have</c><00:31:54.809><c> a</c><00:31:54.840><c> bunch</c><00:31:55.200><c> of</c>

00:31:55.399 --> 00:31:55.409 align:start position:0%
for power when you just have a bunch of
 

00:31:55.409 --> 00:31:57.830 align:start position:0%
for power when you just have a bunch of
random<00:31:56.190><c> math</c><00:31:56.940><c> churning</c><00:31:57.419><c> through</c><00:31:57.659><c> there</c>

00:31:57.830 --> 00:31:57.840 align:start position:0%
random math churning through there
 

00:31:57.840 --> 00:31:59.779 align:start position:0%
random math churning through there
that's<00:31:58.440><c> that's</c><00:31:58.770><c> going</c><00:31:59.010><c> to</c><00:31:59.070><c> consume</c><00:31:59.370><c> a</c><00:31:59.549><c> lot</c><00:31:59.700><c> of</c>

00:31:59.779 --> 00:31:59.789 align:start position:0%
that's that's going to consume a lot of
 

00:31:59.789 --> 00:32:01.669 align:start position:0%
that's that's going to consume a lot of
power<00:32:00.030><c> and</c><00:32:00.240><c> no</c><00:32:00.360><c> matter</c><00:32:00.539><c> what</c><00:32:00.780><c> the</c><00:32:01.350><c> only</c><00:32:01.559><c> way</c>

00:32:01.669 --> 00:32:01.679 align:start position:0%
power and no matter what the only way
 

00:32:01.679 --> 00:32:03.580 align:start position:0%
power and no matter what the only way
you<00:32:01.740><c> can</c><00:32:01.980><c> get</c><00:32:02.100><c> the</c><00:32:02.250><c> power</c><00:32:02.640><c> savings</c><00:32:03.240><c> in</c><00:32:03.480><c> that</c>

00:32:03.580 --> 00:32:03.590 align:start position:0%
you can get the power savings in that
 

00:32:03.590 --> 00:32:06.950 align:start position:0%
you can get the power savings in that
circuit<00:32:04.610><c> would</c><00:32:05.610><c> be</c><00:32:05.820><c> to</c><00:32:06.150><c> probably</c><00:32:06.330><c> shave</c><00:32:06.750><c> off</c><00:32:06.929><c> a</c>

00:32:06.950 --> 00:32:06.960 align:start position:0%
circuit would be to probably shave off a
 

00:32:06.960 --> 00:32:10.250 align:start position:0%
circuit would be to probably shave off a
few<00:32:07.260><c> transistors</c><00:32:07.740><c> let</c><00:32:08.220><c> me</c><00:32:08.309><c> give</c><00:32:08.460><c> you</c><00:32:09.260><c> let's</c>

00:32:10.250 --> 00:32:10.260 align:start position:0%
few transistors let me give you let's
 

00:32:10.260 --> 00:32:14.240 align:start position:0%
few transistors let me give you let's
say<00:32:10.530><c> you</c><00:32:11.220><c> want</c><00:32:11.370><c> to</c><00:32:11.460><c> build</c><00:32:11.669><c> a</c><00:32:13.159><c> 256</c><00:32:14.159><c> bit</c>

00:32:14.240 --> 00:32:14.250 align:start position:0%
say you want to build a 256 bit
 

00:32:14.250 --> 00:32:16.610 align:start position:0%
say you want to build a 256 bit
multiplier<00:32:15.000><c> mm-hmm</c><00:32:15.659><c> you</c><00:32:16.140><c> have</c><00:32:16.289><c> two</c><00:32:16.440><c> options</c>

00:32:16.610 --> 00:32:16.620 align:start position:0%
multiplier mm-hmm you have two options
 

00:32:16.620 --> 00:32:19.730 align:start position:0%
multiplier mm-hmm you have two options
one<00:32:17.130><c> is</c><00:32:17.490><c> that</c><00:32:17.909><c> you</c><00:32:18.030><c> can</c><00:32:18.240><c> build</c><00:32:18.480><c> a</c><00:32:18.740><c> massively</c>

00:32:19.730 --> 00:32:19.740 align:start position:0%
one is that you can build a massively
 

00:32:19.740 --> 00:32:22.159 align:start position:0%
one is that you can build a massively
parallel<00:32:20.419><c> multiplier</c><00:32:21.419><c> where</c><00:32:21.750><c> basically</c>

00:32:22.159 --> 00:32:22.169 align:start position:0%
parallel multiplier where basically
 

00:32:22.169 --> 00:32:25.700 align:start position:0%
parallel multiplier where basically
you'll<00:32:22.470><c> have</c><00:32:22.700><c> 256</c><00:32:23.700><c> by</c><00:32:24.210><c> 256</c><00:32:24.480><c> array</c><00:32:25.350><c> and</c><00:32:25.650><c> then</c>

00:32:25.700 --> 00:32:25.710 align:start position:0%
you'll have 256 by 256 array and then
 

00:32:25.710 --> 00:32:26.510 align:start position:0%
you'll have 256 by 256 array and then
you'll<00:32:25.860><c> have</c><00:32:26.010><c> a</c><00:32:26.070><c> massive</c>

00:32:26.510 --> 00:32:26.520 align:start position:0%
you'll have a massive
 

00:32:26.520 --> 00:32:28.220 align:start position:0%
you'll have a massive
reduction<00:32:26.910><c> trees</c><00:32:27.180><c> with</c><00:32:27.420><c> lots</c><00:32:27.540><c> of</c><00:32:27.690><c> compressors</c>

00:32:28.220 --> 00:32:28.230 align:start position:0%
reduction trees with lots of compressors
 

00:32:28.230 --> 00:32:30.440 align:start position:0%
reduction trees with lots of compressors
and<00:32:28.440><c> that's</c><00:32:29.100><c> going</c><00:32:29.280><c> to</c><00:32:29.340><c> use</c><00:32:29.610><c> a</c><00:32:29.640><c> lot</c><00:32:29.910><c> of</c><00:32:30.000><c> dynamic</c>

00:32:30.440 --> 00:32:30.450 align:start position:0%
and that's going to use a lot of dynamic
 

00:32:30.450 --> 00:32:31.340 align:start position:0%
and that's going to use a lot of dynamic
power<00:32:30.660><c> mm-hmm</c>

00:32:31.340 --> 00:32:31.350 align:start position:0%
power mm-hmm
 

00:32:31.350 --> 00:32:33.470 align:start position:0%
power mm-hmm
the<00:32:31.830><c> other</c><00:32:31.980><c> option</c><00:32:32.340><c> is</c><00:32:32.370><c> to</c><00:32:32.610><c> have</c><00:32:32.760><c> a</c><00:32:32.820><c> much</c>

00:32:33.470 --> 00:32:33.480 align:start position:0%
the other option is to have a much
 

00:32:33.480 --> 00:32:35.600 align:start position:0%
the other option is to have a much
smaller<00:32:33.630><c> circuit</c><00:32:34.260><c> which</c><00:32:34.980><c> does</c><00:32:35.130><c> less</c><00:32:35.370><c> things</c>

00:32:35.600 --> 00:32:35.610 align:start position:0%
smaller circuit which does less things
 

00:32:35.610 --> 00:32:38.300 align:start position:0%
smaller circuit which does less things
in<00:32:35.730><c> parallel</c><00:32:36.000><c> like</c><00:32:36.270><c> much</c><00:32:36.960><c> more</c><00:32:37.290><c> much</c><00:32:38.190><c> more</c>

00:32:38.300 --> 00:32:38.310 align:start position:0%
in parallel like much more much more
 

00:32:38.310 --> 00:32:40.880 align:start position:0%
in parallel like much more much more
sequential<00:32:38.670><c> work</c><00:32:38.970><c> and</c><00:32:39.870><c> that</c><00:32:40.140><c> is</c><00:32:40.470><c> going</c><00:32:40.800><c> to</c>

00:32:40.880 --> 00:32:40.890 align:start position:0%
sequential work and that is going to
 

00:32:40.890 --> 00:32:45.260 align:start position:0%
sequential work and that is going to
consume<00:32:41.280><c> less</c><00:32:41.670><c> energy</c><00:32:44.270><c> 256-bit</c>

00:32:45.260 --> 00:32:45.270 align:start position:0%
consume less energy 256-bit
 

00:32:45.270 --> 00:32:47.720 align:start position:0%
consume less energy 256-bit
multiplication<00:32:46.230><c> now</c><00:32:46.410><c> it's</c><00:32:47.040><c> possible</c><00:32:47.310><c> and</c>

00:32:47.720 --> 00:32:47.730 align:start position:0%
multiplication now it's possible and
 

00:32:47.730 --> 00:32:51.160 align:start position:0%
multiplication now it's possible and
it's<00:32:48.420><c> likely</c><00:32:48.630><c> that</c><00:32:49.130><c> GPU</c><00:32:50.130><c> designers</c><00:32:50.640><c> did</c><00:32:50.850><c> not</c>

00:32:51.160 --> 00:32:51.170 align:start position:0%
it's likely that GPU designers did not
 

00:32:51.170 --> 00:32:55.190 align:start position:0%
it's likely that GPU designers did not
build<00:32:52.170><c> their</c><00:32:52.470><c> circuits</c><00:32:52.920><c> to</c><00:32:53.190><c> minimize</c><00:32:53.760><c> for</c><00:32:54.200><c> for</c>

00:32:55.190 --> 00:32:55.200 align:start position:0%
build their circuits to minimize for for
 

00:32:55.200 --> 00:32:59.060 align:start position:0%
build their circuits to minimize for for
low<00:32:55.500><c> power</c><00:32:56.750><c> for</c><00:32:57.750><c> low</c><00:32:57.960><c> energy</c><00:32:58.170><c> expenditure</c><00:32:58.830><c> per</c>

00:32:59.060 --> 00:32:59.070 align:start position:0%
low power for low energy expenditure per
 

00:32:59.070 --> 00:33:01.370 align:start position:0%
low power for low energy expenditure per
unit<00:32:59.400><c> of</c><00:32:59.520><c> work</c><00:32:59.700><c> I</c><00:33:00.030><c> wouldn't</c><00:33:00.720><c> say</c><00:33:00.900><c> that</c>

00:33:01.370 --> 00:33:01.380 align:start position:0%
unit of work I wouldn't say that
 

00:33:01.380 --> 00:33:04.520 align:start position:0%
unit of work I wouldn't say that
I'd<00:33:01.620><c> go</c><00:33:01.890><c> and</c><00:33:02.070><c> look</c><00:33:02.250><c> at</c><00:33:02.400><c> the</c><00:33:03.090><c> GPUs</c><00:33:03.540><c> design</c><00:33:03.960><c> again</c>

00:33:04.520 --> 00:33:04.530 align:start position:0%
I'd go and look at the GPUs design again
 

00:33:04.530 --> 00:33:06.440 align:start position:0%
I'd go and look at the GPUs design again
the<00:33:04.800><c> most</c><00:33:05.040><c> the</c><00:33:05.280><c> ones</c><00:33:05.460><c> we</c><00:33:05.670><c> target</c><00:33:06.030><c> here</c><00:33:06.180><c> are</c><00:33:06.300><c> G</c>

00:33:06.440 --> 00:33:06.450 align:start position:0%
the most the ones we target here are G
 

00:33:06.450 --> 00:33:08.330 align:start position:0%
the most the ones we target here are G
Falls<00:33:06.690><c> but</c><00:33:07.230><c> if</c><00:33:07.290><c> you</c><00:33:07.470><c> actually</c><00:33:07.620><c> go</c><00:33:07.800><c> and</c><00:33:07.920><c> look</c><00:33:08.100><c> at</c>

00:33:08.330 --> 00:33:08.340 align:start position:0%
Falls but if you actually go and look at
 

00:33:08.340 --> 00:33:10.910 align:start position:0%
Falls but if you actually go and look at
AMD<00:33:08.610><c> or</c><00:33:08.880><c> nvidia</c><00:33:09.270><c> gpus</c><00:33:09.870><c> that</c><00:33:10.140><c> do</c><00:33:10.320><c> target</c><00:33:10.770><c> low</c>

00:33:10.910 --> 00:33:10.920 align:start position:0%
AMD or nvidia gpus that do target low
 

00:33:10.920 --> 00:33:12.950 align:start position:0%
AMD or nvidia gpus that do target low
power<00:33:11.190><c> for</c><00:33:11.850><c> every</c><00:33:12.090><c> energy</c><00:33:12.420><c> of</c><00:33:12.510><c> work</c><00:33:12.720><c> it's</c>

00:33:12.950 --> 00:33:12.960 align:start position:0%
power for every energy of work it's
 

00:33:12.960 --> 00:33:15.650 align:start position:0%
power for every energy of work it's
their<00:33:13.140><c> new</c><00:33:13.320><c> tesla</c><00:33:13.860><c> lines</c><00:33:14.330><c> specifically</c><00:33:15.330><c> for</c>

00:33:15.650 --> 00:33:15.660 align:start position:0%
their new tesla lines specifically for
 

00:33:15.660 --> 00:33:19.390 align:start position:0%
their new tesla lines specifically for
g6<00:33:16.170><c> that</c><00:33:16.410><c> consume</c><00:33:16.770><c> about</c><00:33:17.060><c> 55</c><00:33:18.060><c> watts</c><00:33:18.420><c> per</c><00:33:18.750><c> card</c>

00:33:19.390 --> 00:33:19.400 align:start position:0%
g6 that consume about 55 watts per card
 

00:33:19.400 --> 00:33:23.650 align:start position:0%
g6 that consume about 55 watts per card
for<00:33:20.400><c> about</c><00:33:20.640><c> I</c><00:33:21.210><c> think</c><00:33:21.720><c> it's</c><00:33:21.930><c> 9.6</c><00:33:22.800><c> teraflops</c>

00:33:23.650 --> 00:33:23.660 align:start position:0%
for about I think it's 9.6 teraflops
 

00:33:23.660 --> 00:33:26.600 align:start position:0%
for about I think it's 9.6 teraflops
that's<00:33:24.660><c> a</c><00:33:24.810><c> great</c><00:33:25.020><c> example</c><00:33:25.290><c> of</c><00:33:25.830><c> optimizing</c><00:33:26.310><c> for</c>

00:33:26.600 --> 00:33:26.610 align:start position:0%
that's a great example of optimizing for
 

00:33:26.610 --> 00:33:28.880 align:start position:0%
that's a great example of optimizing for
power<00:33:26.790><c> it's</c><00:33:27.390><c> just</c><00:33:27.630><c> about</c><00:33:27.810><c> which</c><00:33:28.020><c> line</c><00:33:28.290><c> of</c><00:33:28.440><c> GPUs</c>

00:33:28.880 --> 00:33:28.890 align:start position:0%
power it's just about which line of GPUs
 

00:33:28.890 --> 00:33:32.540 align:start position:0%
power it's just about which line of GPUs
you're<00:33:29.070><c> going</c><00:33:29.340><c> to</c><00:33:29.430><c> target</c><00:33:30.440><c> so</c><00:33:31.440><c> they</c><00:33:31.560><c> do</c><00:33:31.620><c> build</c>

00:33:32.540 --> 00:33:32.550 align:start position:0%
you're going to target so they do build
 

00:33:32.550 --> 00:33:39.980 align:start position:0%
you're going to target so they do build
some<00:33:32.760><c> things</c><00:33:33.000><c> like</c><00:33:33.150><c> that</c><00:33:37.460><c> high</c><00:33:38.660><c> so</c><00:33:39.660><c> there</c><00:33:39.840><c> is</c><00:33:39.960><c> a</c>

00:33:39.980 --> 00:33:39.990 align:start position:0%
some things like that high so there is a
 

00:33:39.990 --> 00:33:42.620 align:start position:0%
some things like that high so there is a
speculation<00:33:40.550><c> that</c><00:33:41.550><c> this</c><00:33:41.760><c> algorithm</c><00:33:42.210><c> was</c>

00:33:42.620 --> 00:33:42.630 align:start position:0%
speculation that this algorithm was
 

00:33:42.630 --> 00:33:47.570 align:start position:0%
speculation that this algorithm was
developed<00:33:42.690><c> by</c><00:33:43.230><c> AMD</c><00:33:43.470><c> and</c><00:33:43.980><c> in</c><00:33:44.100><c> media</c><00:33:46.430><c> in</c><00:33:47.430><c> order</c>

00:33:47.570 --> 00:33:47.580 align:start position:0%
developed by AMD and in media in order
 

00:33:47.580 --> 00:33:51.530 align:start position:0%
developed by AMD and in media in order
to<00:33:47.730><c> protect</c><00:33:48.030><c> GPU</c><00:33:48.900><c> money</c><00:33:49.140><c> and</c><00:33:49.430><c> interests</c><00:33:50.540><c> so</c>

00:33:51.530 --> 00:33:51.540 align:start position:0%
to protect GPU money and interests so
 

00:33:51.540 --> 00:33:54.050 align:start position:0%
to protect GPU money and interests so
and<00:33:51.870><c> you</c><00:33:52.260><c> did</c><00:33:52.440><c> obfuscated</c><00:33:53.220><c> people</c><00:33:53.700><c> who</c><00:33:53.850><c> worked</c>

00:33:54.050 --> 00:33:54.060 align:start position:0%
and you did obfuscated people who worked
 

00:33:54.060 --> 00:33:55.280 align:start position:0%
and you did obfuscated people who worked
who<00:33:54.510><c> is</c><00:33:54.570><c> behind</c><00:33:54.900><c> it</c>

00:33:55.280 --> 00:33:55.290 align:start position:0%
who is behind it
 

00:33:55.290 --> 00:33:58.580 align:start position:0%
who is behind it
but<00:33:55.410><c> if</c><00:33:56.310><c> then</c><00:33:56.610><c> else</c><00:33:56.850><c> why</c><00:33:57.750><c> does</c><00:33:57.960><c> it</c><00:33:58.110><c> matter</c><00:33:58.230><c> who</c>

00:33:58.580 --> 00:33:58.590 align:start position:0%
but if then else why does it matter who
 

00:33:58.590 --> 00:34:01.900 align:start position:0%
but if then else why does it matter who
created<00:33:59.010><c> it</c><00:33:59.220><c> did</c><00:33:59.640><c> you</c><00:33:59.820><c> so</c><00:34:00.360><c> two</c><00:34:01.020><c> parts</c><00:34:01.200><c> to</c><00:34:01.440><c> that</c>

00:34:01.900 --> 00:34:01.910 align:start position:0%
created it did you so two parts to that
 

00:34:01.910 --> 00:34:05.030 align:start position:0%
created it did you so two parts to that
first<00:34:02.910><c> the</c><00:34:03.540><c> amount</c><00:34:03.840><c> of</c><00:34:04.020><c> work</c><00:34:04.350><c> and</c><00:34:04.620><c> research</c>

00:34:05.030 --> 00:34:05.040 align:start position:0%
first the amount of work and research
 

00:34:05.040 --> 00:34:06.830 align:start position:0%
first the amount of work and research
that<00:34:05.070><c> goes</c><00:34:05.580><c> into</c><00:34:05.640><c> designing</c><00:34:06.330><c> an</c><00:34:06.510><c> algorithm</c>

00:34:06.830 --> 00:34:06.840 align:start position:0%
that goes into designing an algorithm
 

00:34:06.840 --> 00:34:09.380 align:start position:0%
that goes into designing an algorithm
both<00:34:07.800><c> AMD</c><00:34:08.220><c> and</c><00:34:08.340><c> NVIDIA</c><00:34:08.370><c> have</c><00:34:08.940><c> way</c><00:34:09.210><c> better</c>

00:34:09.380 --> 00:34:09.390 align:start position:0%
both AMD and NVIDIA have way better
 

00:34:09.390 --> 00:34:10.970 align:start position:0%
both AMD and NVIDIA have way better
things<00:34:09.659><c> to</c><00:34:09.810><c> do</c>

00:34:10.970 --> 00:34:10.980 align:start position:0%
things to do
 

00:34:10.980 --> 00:34:14.020 align:start position:0%
things to do
for<00:34:11.669><c> a</c><00:34:11.700><c> start</c><00:34:12.000><c> cryptocurrency</c><00:34:12.720><c> mining</c><00:34:12.990><c> and</c>

00:34:14.020 --> 00:34:14.030 align:start position:0%
for a start cryptocurrency mining and
 

00:34:14.030 --> 00:34:17.630 align:start position:0%
for a start cryptocurrency mining and
I'm<00:34:15.030><c> really</c><00:34:15.570><c> really</c><00:34:15.960><c> really</c><00:34:16.640><c> knowledgeable</c>

00:34:17.630 --> 00:34:17.640 align:start position:0%
I'm really really really knowledgeable
 

00:34:17.640 --> 00:34:19.340 align:start position:0%
I'm really really really knowledgeable
on<00:34:17.760><c> this</c><00:34:17.940><c> considering</c><00:34:18.540><c> I</c><00:34:18.659><c> contributed</c><00:34:19.230><c> to</c>

00:34:19.340 --> 00:34:19.350 align:start position:0%
on this considering I contributed to
 

00:34:19.350 --> 00:34:22.970 align:start position:0%
on this considering I contributed to
most<00:34:19.560><c> of</c><00:34:19.710><c> it</c><00:34:19.830><c> only</c><00:34:20.730><c> made</c><00:34:21.060><c> about</c><00:34:21.649><c> 384</c><00:34:22.649><c> million</c>

00:34:22.970 --> 00:34:22.980 align:start position:0%
most of it only made about 384 million
 

00:34:22.980 --> 00:34:26.480 align:start position:0%
most of it only made about 384 million
dollars<00:34:23.659><c> last</c><00:34:24.659><c> year</c><00:34:24.929><c> for</c><00:34:25.530><c> them</c><00:34:25.649><c> and</c><00:34:25.860><c> then</c><00:34:26.370><c> it</c>

00:34:26.480 --> 00:34:26.490 align:start position:0%
dollars last year for them and then it
 

00:34:26.490 --> 00:34:28.940 align:start position:0%
dollars last year for them and then it
made<00:34:26.700><c> a</c><00:34:26.909><c> tiny</c><00:34:27.270><c> amount</c><00:34:27.600><c> of</c><00:34:27.810><c> money</c><00:34:28.110><c> this</c><00:34:28.890><c> year</c>

00:34:28.940 --> 00:34:28.950 align:start position:0%
made a tiny amount of money this year
 

00:34:28.950 --> 00:34:30.770 align:start position:0%
made a tiny amount of money this year
and<00:34:29.310><c> you</c><00:34:29.399><c> can</c><00:34:29.550><c> publicly</c><00:34:30.000><c> track</c><00:34:30.300><c> that</c><00:34:30.510><c> because</c>

00:34:30.770 --> 00:34:30.780 align:start position:0%
and you can publicly track that because
 

00:34:30.780 --> 00:34:32.210 align:start position:0%
and you can publicly track that because
it's<00:34:30.929><c> all</c><00:34:31.020><c> in</c><00:34:31.140><c> their</c><00:34:31.290><c> financial</c><00:34:31.649><c> reports</c>

00:34:32.210 --> 00:34:32.220 align:start position:0%
it's all in their financial reports
 

00:34:32.220 --> 00:34:36.040 align:start position:0%
it's all in their financial reports
perks<00:34:32.850><c> of</c><00:34:33.000><c> a</c><00:34:33.060><c> publicly</c><00:34:33.480><c> traded</c><00:34:33.510><c> company</c><00:34:34.220><c> now</c>

00:34:36.040 --> 00:34:36.050 align:start position:0%
perks of a publicly traded company now
 

00:34:36.050 --> 00:34:39.890 align:start position:0%
perks of a publicly traded company now
their<00:34:37.050><c> actual</c><00:34:37.590><c> revenue</c><00:34:38.120><c> per</c>

00:34:39.890 --> 00:34:39.900 align:start position:0%
their actual revenue per
 

00:34:39.900 --> 00:34:42.320 align:start position:0%
their actual revenue per
four<00:34:40.260><c> GPUs</c><00:34:40.770><c> or</c><00:34:40.950><c> per</c><00:34:41.250><c> quarter</c><00:34:41.580><c> I</c><00:34:41.610><c> should</c><00:34:41.880><c> say</c><00:34:42.090><c> is</c>

00:34:42.320 --> 00:34:42.330 align:start position:0%
four GPUs or per quarter I should say is
 

00:34:42.330 --> 00:34:45.710 align:start position:0%
four GPUs or per quarter I should say is
somewhere<00:34:43.080><c> in</c><00:34:43.320><c> the</c><00:34:43.530><c> five</c><00:34:43.950><c> plus</c><00:34:44.370><c> billion</c><00:34:44.970><c> which</c>

00:34:45.710 --> 00:34:45.720 align:start position:0%
somewhere in the five plus billion which
 

00:34:45.720 --> 00:34:48.350 align:start position:0%
somewhere in the five plus billion which
is<00:34:45.870><c> a</c><00:34:45.900><c> lot</c><00:34:46.140><c> it's</c><00:34:46.560><c> a</c><00:34:46.710><c> lot</c><00:34:46.760><c> see</c><00:34:47.760><c> they</c><00:34:47.880><c> don't</c><00:34:48.060><c> care</c>

00:34:48.350 --> 00:34:48.360 align:start position:0%
is a lot it's a lot see they don't care
 

00:34:48.360 --> 00:34:50.570 align:start position:0%
is a lot it's a lot see they don't care
about<00:34:48.480><c> GPU</c><00:34:49.020><c> mining</c><00:34:49.440><c> they're</c><00:34:50.100><c> fighting</c><00:34:50.490><c> the</c>

00:34:50.570 --> 00:34:50.580 align:start position:0%
about GPU mining they're fighting the
 

00:34:50.580 --> 00:34:53.420 align:start position:0%
about GPU mining they're fighting the
battle<00:34:50.910><c> in</c><00:34:51.060><c> the</c><00:34:51.360><c> AI</c><00:34:51.480><c> space</c><00:34:51.990><c> in</c><00:34:52.290><c> the</c><00:34:52.650><c> TPU</c><00:34:53.010><c> space</c>

00:34:53.420 --> 00:34:53.430 align:start position:0%
battle in the AI space in the TPU space
 

00:34:53.430 --> 00:34:56.170 align:start position:0%
battle in the AI space in the TPU space
in<00:34:53.730><c> the</c><00:34:53.820><c> CPU</c><00:34:54.150><c> space</c><00:34:54.540><c> and</c><00:34:54.840><c> in</c><00:34:54.960><c> the</c><00:34:55.080><c> FPGA</c><00:34:55.530><c> space</c>

00:34:56.170 --> 00:34:56.180 align:start position:0%
in the CPU space and in the FPGA space
 

00:34:56.180 --> 00:34:59.840 align:start position:0%
in the CPU space and in the FPGA space
the<00:34:57.180><c> other</c><00:34:57.330><c> thing</c><00:34:57.630><c> is</c><00:34:57.810><c> that</c><00:34:57.840><c> if</c><00:34:58.710><c> AMD</c><00:34:59.520><c> had</c>

00:34:59.840 --> 00:34:59.850 align:start position:0%
the other thing is that if AMD had
 

00:34:59.850 --> 00:35:02.060 align:start position:0%
the other thing is that if AMD had
designed<00:35:00.240><c> this</c><00:35:00.450><c> they</c><00:35:01.290><c> would</c><00:35:01.530><c> probably</c><00:35:01.860><c> have</c>

00:35:02.060 --> 00:35:02.070 align:start position:0%
designed this they would probably have
 

00:35:02.070 --> 00:35:05.360 align:start position:0%
designed this they would probably have
done<00:35:02.520><c> a</c><00:35:02.550><c> better</c><00:35:02.880><c> job</c><00:35:03.060><c> at</c><00:35:03.600><c> fixing</c><00:35:04.140><c> their</c><00:35:04.830><c> shitty</c>

00:35:05.360 --> 00:35:05.370 align:start position:0%
done a better job at fixing their shitty
 

00:35:05.370 --> 00:35:08.300 align:start position:0%
done a better job at fixing their shitty
OpenCL<00:35:06.140><c> implementation</c><00:35:07.140><c> and</c><00:35:07.350><c> they</c><00:35:08.040><c> wouldn't</c>

00:35:08.300 --> 00:35:08.310 align:start position:0%
OpenCL implementation and they wouldn't
 

00:35:08.310 --> 00:35:10.460 align:start position:0%
OpenCL implementation and they wouldn't
have<00:35:08.490><c> given</c><00:35:08.970><c> me</c><00:35:09.240><c> so</c><00:35:09.420><c> much</c><00:35:09.540><c> hell</c><00:35:09.810><c> in</c><00:35:10.080><c> trying</c><00:35:10.350><c> to</c>

00:35:10.460 --> 00:35:10.470 align:start position:0%
have given me so much hell in trying to
 

00:35:10.470 --> 00:35:13.670 align:start position:0%
have given me so much hell in trying to
get<00:35:10.590><c> fixes</c><00:35:11.040><c> and</c><00:35:11.400><c> the</c><00:35:12.090><c> other</c><00:35:12.240><c> thing</c><00:35:12.510><c> is</c><00:35:12.690><c> again</c>

00:35:13.670 --> 00:35:13.680 align:start position:0%
get fixes and the other thing is again
 

00:35:13.680 --> 00:35:16.190 align:start position:0%
get fixes and the other thing is again
the<00:35:14.610><c> whole</c><00:35:14.820><c> point</c><00:35:15.120><c> of</c><00:35:15.300><c> prog</c><00:35:15.540><c> Pao</c><00:35:15.780><c> is</c><00:35:15.810><c> to</c>

00:35:16.190 --> 00:35:16.200 align:start position:0%
the whole point of prog Pao is to
 

00:35:16.200 --> 00:35:18.710 align:start position:0%
the whole point of prog Pao is to
protect<00:35:16.560><c> at</c><00:35:16.770><c> hash</c><00:35:17.100><c> wallet</c><00:35:18.000><c> transitions</c><00:35:18.570><c> to</c>

00:35:18.710 --> 00:35:18.720 align:start position:0%
protect at hash wallet transitions to
 

00:35:18.720 --> 00:35:21.650 align:start position:0%
protect at hash wallet transitions to
proof<00:35:18.900><c> of</c><00:35:19.020><c> stake</c><00:35:19.580><c> we</c><00:35:20.580><c> do</c><00:35:20.820><c> not</c><00:35:21.030><c> let</c><00:35:21.390><c> me</c><00:35:21.510><c> make</c>

00:35:21.650 --> 00:35:21.660 align:start position:0%
proof of stake we do not let me make
 

00:35:21.660 --> 00:35:22.400 align:start position:0%
proof of stake we do not let me make
this<00:35:21.810><c> very</c><00:35:22.050><c> clear</c>

00:35:22.400 --> 00:35:22.410 align:start position:0%
this very clear
 

00:35:22.410 --> 00:35:24.680 align:start position:0%
this very clear
if<00:35:22.560><c> def</c><00:35:22.890><c> else</c><00:35:23.130><c> does</c><00:35:23.550><c> not</c><00:35:23.820><c> want</c><00:35:24.060><c> proof</c><00:35:24.300><c> of</c><00:35:24.480><c> work</c>

00:35:24.680 --> 00:35:24.690 align:start position:0%
if def else does not want proof of work
 

00:35:24.690 --> 00:35:27.640 align:start position:0%
if def else does not want proof of work
to<00:35:25.350><c> exist</c><00:35:25.800><c> when</c><00:35:25.980><c> proof</c><00:35:26.280><c> of</c><00:35:26.400><c> stake</c><00:35:26.640><c> is</c><00:35:26.790><c> ready</c>

00:35:27.640 --> 00:35:27.650 align:start position:0%
to exist when proof of stake is ready
 

00:35:27.650 --> 00:35:31.430 align:start position:0%
to exist when proof of stake is ready
the<00:35:28.650><c> main</c><00:35:28.920><c> reason</c><00:35:29.610><c> for</c><00:35:29.640><c> this</c><00:35:30.000><c> is</c><00:35:30.300><c> to</c><00:35:31.020><c> make</c><00:35:31.200><c> sure</c>

00:35:31.430 --> 00:35:31.440 align:start position:0%
the main reason for this is to make sure
 

00:35:31.440 --> 00:35:33.590 align:start position:0%
the main reason for this is to make sure
that<00:35:32.040><c> proof</c><00:35:32.400><c> of</c><00:35:32.550><c> stake</c><00:35:32.790><c> has</c><00:35:33.180><c> a</c><00:35:33.210><c> fighting</c>

00:35:33.590 --> 00:35:33.600 align:start position:0%
that proof of stake has a fighting
 

00:35:33.600 --> 00:35:36.620 align:start position:0%
that proof of stake has a fighting
chance<00:35:33.720><c> and</c><00:35:34.290><c> etherium</c><00:35:35.480><c> doesn't</c><00:35:36.480><c> get</c>

00:35:36.620 --> 00:35:36.630 align:start position:0%
chance and etherium doesn't get
 

00:35:36.630 --> 00:35:39.110 align:start position:0%
chance and etherium doesn't get
destroyed<00:35:37.080><c> by</c><00:35:37.710><c> centralized</c><00:35:38.430><c> entities</c><00:35:38.910><c> while</c>

00:35:39.110 --> 00:35:39.120 align:start position:0%
destroyed by centralized entities while
 

00:35:39.120 --> 00:35:42.250 align:start position:0%
destroyed by centralized entities while
it's<00:35:39.330><c> going</c><00:35:39.600><c> into</c><00:35:39.720><c> its</c><00:35:39.930><c> transition</c><00:35:40.440><c> phase</c><00:35:40.620><c> I</c>

00:35:42.250 --> 00:35:42.260 align:start position:0%
it's going into its transition phase I
 

00:35:42.260 --> 00:35:44.750 align:start position:0%
it's going into its transition phase I
just<00:35:43.260><c> think</c><00:35:43.470><c> that</c><00:35:43.620><c> there</c><00:35:43.830><c> is</c><00:35:43.950><c> a</c><00:35:43.980><c> conflict</c><00:35:44.430><c> of</c>

00:35:44.750 --> 00:35:44.760 align:start position:0%
just think that there is a conflict of
 

00:35:44.760 --> 00:35:47.480 align:start position:0%
just think that there is a conflict of
interest<00:35:45.390><c> for</c><00:35:45.570><c> you</c><00:35:45.900><c> to</c><00:35:46.140><c> pour</c><00:35:46.350><c> that</c><00:35:46.530><c> prop</c><00:35:47.220><c> pal</c>

00:35:47.480 --> 00:35:47.490 align:start position:0%
interest for you to pour that prop pal
 

00:35:47.490 --> 00:35:52.850 align:start position:0%
interest for you to pour that prop pal
right<00:35:48.360><c> now</c><00:35:48.630><c> why</c><00:35:48.900><c> I</c><00:35:50.540><c> can</c><00:35:51.540><c> make</c><00:35:51.660><c> an</c><00:35:51.810><c> ASIC</c><00:35:52.230><c> I'm</c>

00:35:52.850 --> 00:35:52.860 align:start position:0%
right now why I can make an ASIC I'm
 

00:35:52.860 --> 00:35:56.120 align:start position:0%
right now why I can make an ASIC I'm
like<00:35:53.670><c> let's</c><00:35:53.910><c> be</c><00:35:54.090><c> very</c><00:35:54.510><c> very</c><00:35:54.780><c> public</c><00:35:55.020><c> prog</c><00:35:55.830><c> pal</c>

00:35:56.120 --> 00:35:56.130 align:start position:0%
like let's be very very public prog pal
 

00:35:56.130 --> 00:35:58.820 align:start position:0%
like let's be very very public prog pal
destroys<00:35:56.790><c> every</c><00:35:57.480><c> single</c><00:35:57.870><c> optimization</c><00:35:58.680><c> then</c>

00:35:58.820 --> 00:35:58.830 align:start position:0%
destroys every single optimization then
 

00:35:58.830 --> 00:36:01.490 align:start position:0%
destroys every single optimization then
I<00:35:58.890><c> get</c><00:35:59.070><c> pocket</c><00:35:59.700><c> money</c><00:35:59.730><c> for</c><00:36:00.120><c> this</c><00:36:00.930><c> destroys</c><00:36:01.350><c> a</c>

00:36:01.490 --> 00:36:01.500 align:start position:0%
I get pocket money for this destroys a
 

00:36:01.500 --> 00:36:04.190 align:start position:0%
I get pocket money for this destroys a
lodgment<00:36:01.850><c> this</c><00:36:02.850><c> destroys</c><00:36:03.300><c> all</c><00:36:03.450><c> my</c><00:36:03.600><c> private</c>

00:36:04.190 --> 00:36:04.200 align:start position:0%
lodgment this destroys all my private
 

00:36:04.200 --> 00:36:06.650 align:start position:0%
lodgment this destroys all my private
optimizations<00:36:05.190><c> this</c><00:36:05.670><c> destroys</c><00:36:06.120><c> the</c><00:36:06.270><c> acorn</c>

00:36:06.650 --> 00:36:06.660 align:start position:0%
optimizations this destroys the acorn
 

00:36:06.660 --> 00:36:09.500 align:start position:0%
optimizations this destroys the acorn
line<00:36:06.870><c> of</c><00:36:07.020><c> FPGAs</c><00:36:07.620><c> which</c><00:36:08.370><c> I</c><00:36:08.670><c> think</c><00:36:09.000><c> some</c><00:36:09.300><c> of</c><00:36:09.330><c> you</c>

00:36:09.500 --> 00:36:09.510 align:start position:0%
line of FPGAs which I think some of you
 

00:36:09.510 --> 00:36:11.150 align:start position:0%
line of FPGAs which I think some of you
are<00:36:09.540><c> familiar</c><00:36:09.810><c> with</c><00:36:10.170><c> the</c><00:36:10.380><c> minority</c><00:36:10.830><c> group</c><00:36:11.010><c> is</c>

00:36:11.150 --> 00:36:11.160 align:start position:0%
are familiar with the minority group is
 

00:36:11.160 --> 00:36:15.320 align:start position:0%
are familiar with the minority group is
selling<00:36:11.490><c> and</c><00:36:11.670><c> we</c><00:36:12.000><c> do</c><00:36:12.150><c> very</c><00:36:12.570><c> much</c><00:36:12.810><c> support</c><00:36:14.330><c> this</c>

00:36:15.320 --> 00:36:15.330 align:start position:0%
selling and we do very much support this
 

00:36:15.330 --> 00:36:17.810 align:start position:0%
selling and we do very much support this
destroys<00:36:15.810><c> a</c><00:36:16.200><c> lot</c><00:36:16.620><c> of</c><00:36:16.740><c> things</c><00:36:16.950><c> that</c><00:36:17.520><c> we</c><00:36:17.610><c> very</c>

00:36:17.810 --> 00:36:17.820 align:start position:0%
destroys a lot of things that we very
 

00:36:17.820 --> 00:36:26.920 align:start position:0%
destroys a lot of things that we very
much<00:36:18.030><c> like</c>

00:36:26.920 --> 00:36:26.930 align:start position:0%
 
 

00:36:26.930 --> 00:36:30.530 align:start position:0%
 
hey<00:36:27.930><c> I</c><00:36:27.960><c> just</c><00:36:28.050><c> curious</c><00:36:28.650><c> about</c><00:36:28.680><c> the</c><00:36:29.540><c> statistics</c>

00:36:30.530 --> 00:36:30.540 align:start position:0%
hey I just curious about the statistics
 

00:36:30.540 --> 00:36:32.630 align:start position:0%
hey I just curious about the statistics
and<00:36:30.780><c> security</c><00:36:31.350><c> of</c><00:36:31.560><c> the</c><00:36:31.710><c> random</c><00:36:32.010><c> masts</c><00:36:32.220><c> how</c><00:36:32.580><c> do</c>

00:36:32.630 --> 00:36:32.640 align:start position:0%
and security of the random masts how do
 

00:36:32.640 --> 00:36:34.640 align:start position:0%
and security of the random masts how do
you<00:36:32.820><c> prove</c><00:36:33.090><c> that</c><00:36:33.150><c> it</c><00:36:33.570><c> can</c><00:36:34.080><c> be</c><00:36:34.170><c> performed</c><00:36:34.350><c> much</c>

00:36:34.640 --> 00:36:34.650 align:start position:0%
you prove that it can be performed much
 

00:36:34.650 --> 00:36:38.000 align:start position:0%
you prove that it can be performed much
better<00:36:34.680><c> than</c><00:36:35.210><c> FME</c><00:36:36.410><c> because</c><00:36:37.410><c> I</c><00:36:37.590><c> checked</c><00:36:37.890><c> this</c>

00:36:38.000 --> 00:36:38.010 align:start position:0%
better than FME because I checked this
 

00:36:38.010 --> 00:36:40.730 align:start position:0%
better than FME because I checked this
back<00:36:38.340><c> it's</c><00:36:38.670><c> just</c><00:36:38.790><c> some</c><00:36:39.210><c> random</c><00:36:39.740><c> mathematics</c>

00:36:40.730 --> 00:36:40.740 align:start position:0%
back it's just some random mathematics
 

00:36:40.740 --> 00:36:42.740 align:start position:0%
back it's just some random mathematics
calculation<00:36:41.340><c> based</c><00:36:41.610><c> on</c><00:36:41.730><c> the</c><00:36:41.790><c> ha</c><00:36:42.030><c> pill</c><00:36:42.630><c> is</c>

00:36:42.740 --> 00:36:42.750 align:start position:0%
calculation based on the ha pill is
 

00:36:42.750 --> 00:36:44.570 align:start position:0%
calculation based on the ha pill is
calculated<00:36:43.320><c> value</c><00:36:43.590><c> if</c><00:36:43.950><c> my</c><00:36:44.130><c> understand</c><00:36:44.490><c> is</c>

00:36:44.570 --> 00:36:44.580 align:start position:0%
calculated value if my understand is
 

00:36:44.580 --> 00:36:47.420 align:start position:0%
calculated value if my understand is
correct<00:36:44.970><c> a</c><00:36:45.150><c> previous</c><00:36:45.870><c> previous</c><00:36:46.530><c> block</c><00:36:46.770><c> block</c>

00:36:47.420 --> 00:36:47.430 align:start position:0%
correct a previous previous block block
 

00:36:47.430 --> 00:36:50.210 align:start position:0%
correct a previous previous block block
header<00:36:47.670><c> not</c><00:36:48.660><c> the</c><00:36:48.750><c> previous</c><00:36:48.930><c> value</c><00:36:49.440><c> that's</c><00:36:49.890><c> a</c>

00:36:50.210 --> 00:36:50.220 align:start position:0%
header not the previous value that's a
 

00:36:50.220 --> 00:36:54.020 align:start position:0%
header not the previous value that's a
that's<00:36:50.790><c> a</c><00:36:50.970><c> mistake</c><00:36:51.350><c> so</c><00:36:52.910><c> specifically</c><00:36:53.910><c> the</c>

00:36:54.020 --> 00:36:54.030 align:start position:0%
that's a mistake so specifically the
 

00:36:54.030 --> 00:36:57.950 align:start position:0%
that's a mistake so specifically the
random<00:36:54.510><c> math</c><00:36:54.750><c> function</c><00:36:55.760><c> takes</c><00:36:56.760><c> a</c><00:36:57.150><c> few</c><00:36:57.510><c> few</c>

00:36:57.950 --> 00:36:57.960 align:start position:0%
random math function takes a few few
 

00:36:57.960 --> 00:37:00.140 align:start position:0%
random math function takes a few few
parts<00:36:58.230><c> it</c><00:36:58.350><c> takes</c><00:36:58.380><c> kiss</c><00:36:58.890><c> nines</c><00:36:59.400><c> random</c><00:36:59.970><c> math</c>

00:37:00.140 --> 00:37:00.150 align:start position:0%
parts it takes kiss nines random math
 

00:37:00.150 --> 00:37:02.330 align:start position:0%
parts it takes kiss nines random math
generator<00:37:00.630><c> it</c><00:37:00.900><c> takes</c><00:37:01.560><c> the</c><00:37:01.710><c> random</c><00:37:02.070><c> block</c>

00:37:02.330 --> 00:37:02.340 align:start position:0%
generator it takes the random block
 

00:37:02.340 --> 00:37:05.420 align:start position:0%
generator it takes the random block
header<00:37:02.760><c> that</c><00:37:03.360><c> changes</c><00:37:03.900><c> a</c><00:37:04.110><c> random</c><00:37:05.070><c> block</c><00:37:05.220><c> hash</c>

00:37:05.420 --> 00:37:05.430 align:start position:0%
header that changes a random block hash
 

00:37:05.430 --> 00:37:08.780 align:start position:0%
header that changes a random block hash
sorry<00:37:05.760><c> and</c><00:37:06.000><c> it</c><00:37:06.630><c> also</c><00:37:06.780><c> changes</c><00:37:07.430><c> the</c><00:37:08.430><c> input</c>

00:37:08.780 --> 00:37:08.790 align:start position:0%
sorry and it also changes the input
 

00:37:08.790 --> 00:37:12.890 align:start position:0%
sorry and it also changes the input
changes<00:37:09.180><c> every</c><00:37:09.540><c> 50</c><00:37:10.020><c> blocks</c><00:37:11.570><c> now</c><00:37:12.570><c> it's</c>

00:37:12.890 --> 00:37:12.900 align:start position:0%
changes every 50 blocks now it's
 

00:37:12.900 --> 00:37:15.650 align:start position:0%
changes every 50 blocks now it's
tweakable<00:37:13.790><c> where</c><00:37:14.790><c> you</c><00:37:14.880><c> can</c><00:37:15.060><c> adjust</c><00:37:15.210><c> it</c><00:37:15.630><c> to</c>

00:37:15.650 --> 00:37:15.660 align:start position:0%
tweakable where you can adjust it to
 

00:37:15.660 --> 00:37:18.470 align:start position:0%
tweakable where you can adjust it to
change<00:37:16.110><c> every</c><00:37:16.440><c> 25</c><00:37:16.860><c> blocks</c><00:37:17.070><c> instead</c><00:37:17.550><c> or</c><00:37:18.180><c> every</c>

00:37:18.470 --> 00:37:18.480 align:start position:0%
change every 25 blocks instead or every
 

00:37:18.480 --> 00:37:19.880 align:start position:0%
change every 25 blocks instead or every
5<00:37:18.720><c> blocks</c><00:37:19.020><c> if</c><00:37:19.200><c> you</c><00:37:19.230><c> really</c><00:37:19.590><c> want</c><00:37:19.740><c> to</c><00:37:19.800><c> be</c>

00:37:19.880 --> 00:37:19.890 align:start position:0%
5 blocks if you really want to be
 

00:37:19.890 --> 00:37:20.350 align:start position:0%
5 blocks if you really want to be
painful

00:37:20.350 --> 00:37:20.360 align:start position:0%
painful
 

00:37:20.360 --> 00:37:24.950 align:start position:0%
painful
it's<00:37:21.360><c> FN</c><00:37:21.920><c> v1a</c><00:37:22.920><c> that</c><00:37:23.190><c> we</c><00:37:23.310><c> use</c><00:37:23.550><c> not</c><00:37:23.790><c> FNV</c><00:37:24.360><c> itself</c>

00:37:24.950 --> 00:37:24.960 align:start position:0%
it's FN v1a that we use not FNV itself
 

00:37:24.960 --> 00:37:28.550 align:start position:0%
it's FN v1a that we use not FNV itself
like<00:37:25.680><c> I</c><00:37:25.830><c> said</c><00:37:26.070><c> it</c><00:37:26.640><c> takes</c><00:37:26.820><c> C</c><00:37:27.660><c> dag</c><00:37:27.870><c> which</c><00:37:28.350><c> is</c><00:37:28.530><c> a</c>

00:37:28.550 --> 00:37:28.560 align:start position:0%
like I said it takes C dag which is a
 

00:37:28.560 --> 00:37:30.710 align:start position:0%
like I said it takes C dag which is a
combination<00:37:29.220><c> of</c><00:37:29.370><c> your</c><00:37:29.850><c> case</c><00:37:30.150><c> your</c><00:37:30.510><c> block</c>

00:37:30.710 --> 00:37:30.720 align:start position:0%
combination of your case your block
 

00:37:30.720 --> 00:37:34.280 align:start position:0%
combination of your case your block
header<00:37:30.960><c> and</c><00:37:31.610><c> some</c><00:37:32.610><c> random</c><00:37:32.970><c> math</c><00:37:33.210><c> mixes</c><00:37:34.170><c> up</c>

00:37:34.280 --> 00:37:34.290 align:start position:0%
header and some random math mixes up
 

00:37:34.290 --> 00:37:36.320 align:start position:0%
header and some random math mixes up
with<00:37:34.470><c> more</c><00:37:34.680><c> random</c><00:37:35.040><c> math</c><00:37:35.250><c> keeps</c><00:37:35.880><c> doing</c><00:37:36.180><c> that</c>

00:37:36.320 --> 00:37:36.330 align:start position:0%
with more random math keeps doing that
 

00:37:36.330 --> 00:37:40.790 align:start position:0%
with more random math keeps doing that
for<00:37:37.140><c> about</c><00:37:37.230><c> I</c><00:37:37.890><c> think</c><00:37:38.430><c> we're</c><00:37:38.610><c> doing</c><00:37:38.790><c> it</c><00:37:39.000><c> 64</c><00:37:39.800><c> 64</c>

00:37:40.790 --> 00:37:40.800 align:start position:0%
for about I think we're doing it 64 64
 

00:37:40.800 --> 00:37:45.920 align:start position:0%
for about I think we're doing it 64 64
cycles<00:37:41.270><c> then</c><00:37:42.270><c> spits</c><00:37:42.570><c> it</c><00:37:42.690><c> out</c><00:37:44.090><c> the</c><00:37:45.090><c> code</c><00:37:45.330><c> the</c>

00:37:45.920 --> 00:37:45.930 align:start position:0%
cycles then spits it out the code the
 

00:37:45.930 --> 00:37:54.910 align:start position:0%
cycles then spits it out the code the
code<00:37:46.080><c> is</c><00:37:46.290><c> the</c><00:37:46.410><c> proof</c>

00:37:54.910 --> 00:37:54.920 align:start position:0%
 
 

00:37:54.920 --> 00:37:59.380 align:start position:0%
 
mm-hmm<00:37:56.769><c> yeah</c><00:37:57.769><c> you</c><00:37:57.829><c> can</c><00:37:58.220><c> go</c><00:37:58.519><c> and</c><00:37:58.730><c> grab</c><00:37:58.970><c> the</c><00:37:59.150><c> code</c>

00:37:59.380 --> 00:37:59.390 align:start position:0%
mm-hmm yeah you can go and grab the code
 

00:37:59.390 --> 00:38:01.390 align:start position:0%
mm-hmm yeah you can go and grab the code
today<00:37:59.660><c> and</c><00:38:00.109><c> you</c><00:38:00.260><c> can</c><00:38:00.410><c> profile</c><00:38:00.829><c> it</c><00:38:00.950><c> yourself</c>

00:38:01.390 --> 00:38:01.400 align:start position:0%
today and you can profile it yourself
 

00:38:01.400 --> 00:38:03.549 align:start position:0%
today and you can profile it yourself
usually<00:38:02.390><c> through</c><00:38:02.599><c> synopsis</c><00:38:03.170><c> or</c><00:38:03.349><c> another</c>

00:38:03.549 --> 00:38:03.559 align:start position:0%
usually through synopsis or another
 

00:38:03.559 --> 00:38:11.289 align:start position:0%
usually through synopsis or another
simulator<00:38:09.190><c> again</c><00:38:10.190><c> all</c><00:38:10.519><c> in</c><00:38:10.819><c> the</c><00:38:10.910><c> white</c><00:38:11.029><c> paper</c>

00:38:11.289 --> 00:38:11.299 align:start position:0%
simulator again all in the white paper
 

00:38:11.299 --> 00:38:14.200 align:start position:0%
simulator again all in the white paper
yes<00:38:11.809><c> everything's</c><00:38:12.740><c> completely</c><00:38:13.279><c> public</c><00:38:14.059><c> with</c>

00:38:14.200 --> 00:38:14.210 align:start position:0%
yes everything's completely public with
 

00:38:14.210 --> 00:38:16.029 align:start position:0%
yes everything's completely public with
that<00:38:14.240><c> we</c><00:38:14.779><c> actually</c><00:38:14.900><c> did</c><00:38:15.230><c> a</c><00:38:15.260><c> huge</c><00:38:15.470><c> ride</c><00:38:15.740><c> up</c><00:38:15.890><c> on</c>

00:38:16.029 --> 00:38:16.039 align:start position:0%
that we actually did a huge ride up on
 

00:38:16.039 --> 00:38:17.650 align:start position:0%
that we actually did a huge ride up on
medium<00:38:16.250><c> that</c><00:38:16.549><c> we</c><00:38:16.670><c> published</c><00:38:17.059><c> two</c><00:38:17.150><c> days</c><00:38:17.420><c> ago</c>

00:38:17.650 --> 00:38:17.660 align:start position:0%
medium that we published two days ago
 

00:38:17.660 --> 00:38:21.789 align:start position:0%
medium that we published two days ago
about<00:38:17.779><c> this</c><00:38:18.490><c> about</c><00:38:19.490><c> the</c><00:38:19.700><c> security</c><00:38:20.299><c> of</c><00:38:20.450><c> the</c><00:38:21.380><c> FN</c>

00:38:21.789 --> 00:38:21.799 align:start position:0%
about this about the security of the FN
 

00:38:21.799 --> 00:38:29.710 align:start position:0%
about this about the security of the FN
v1<00:38:22.279><c> a</c><00:38:22.309><c> function</c><00:38:25.240><c> yep</c><00:38:28.269><c> just</c><00:38:29.269><c> to</c><00:38:29.329><c> the</c><00:38:29.420><c> point</c><00:38:29.630><c> you</c>

00:38:29.710 --> 00:38:29.720 align:start position:0%
v1 a function yep just to the point you
 

00:38:29.720 --> 00:38:33.579 align:start position:0%
v1 a function yep just to the point you
made<00:38:29.869><c> earlier</c><00:38:31.569><c> so</c><00:38:32.569><c> this</c><00:38:32.720><c> is</c><00:38:32.869><c> purely</c><00:38:33.289><c> an</c>

00:38:33.579 --> 00:38:33.589 align:start position:0%
made earlier so this is purely an
 

00:38:33.589 --> 00:38:37.720 align:start position:0%
made earlier so this is purely an
altruistic<00:38:34.099><c> effort</c><00:38:34.940><c> by</c><00:38:35.299><c> FFLs</c><00:38:35.839><c> to</c><00:38:36.829><c> transition</c>

00:38:37.720 --> 00:38:37.730 align:start position:0%
altruistic effort by FFLs to transition
 

00:38:37.730 --> 00:38:41.829 align:start position:0%
altruistic effort by FFLs to transition
safely<00:38:38.150><c> to</c><00:38:38.359><c> proof</c><00:38:38.750><c> estate</c><00:38:39.079><c> god</c><00:38:39.619><c> yes</c><00:38:39.950><c> i'm</c><00:38:40.839><c> of</c>

00:38:41.829 --> 00:38:41.839 align:start position:0%
safely to proof estate god yes i'm of
 

00:38:41.839 --> 00:38:43.870 align:start position:0%
safely to proof estate god yes i'm of
course<00:38:41.900><c> course</c><00:38:42.589><c> scientific</c><00:38:43.190><c> love's</c><00:38:43.460><c> a</c><00:38:43.609><c> six</c>

00:38:43.870 --> 00:38:43.880 align:start position:0%
course course scientific love's a six
 

00:38:43.880 --> 00:38:45.880 align:start position:0%
course course scientific love's a six
please<00:38:44.480><c> we</c><00:38:44.839><c> want</c><00:38:45.049><c> a</c><00:38:45.140><c> six</c><00:38:45.410><c> to</c><00:38:45.529><c> be</c><00:38:45.650><c> around</c>

00:38:45.880 --> 00:38:45.890 align:start position:0%
please we want a six to be around
 

00:38:45.890 --> 00:38:47.589 align:start position:0%
please we want a six to be around
because<00:38:46.160><c> they</c><00:38:46.279><c> consume</c><00:38:46.579><c> more</c><00:38:46.789><c> power</c><00:38:47.000><c> it's</c>

00:38:47.589 --> 00:38:47.599 align:start position:0%
because they consume more power it's
 

00:38:47.599 --> 00:38:53.319 align:start position:0%
because they consume more power it's
better<00:38:47.839><c> for</c><00:38:48.019><c> me</c><00:38:48.170><c> and</c><00:38:51.369><c> deaf</c><00:38:52.369><c> and</c><00:38:52.579><c> else</c><00:38:52.700><c> couldn't</c>

00:38:53.319 --> 00:38:53.329 align:start position:0%
better for me and deaf and else couldn't
 

00:38:53.329 --> 00:38:56.019 align:start position:0%
better for me and deaf and else couldn't
really<00:38:54.140><c> care</c><00:38:54.589><c> less</c><00:38:54.859><c> right</c><00:38:55.099><c> now</c><00:38:55.160><c> they're</c><00:38:55.640><c> GPU</c>

00:38:56.019 --> 00:38:56.029 align:start position:0%
really care less right now they're GPU
 

00:38:56.029 --> 00:38:58.390 align:start position:0%
really care less right now they're GPU
enthusiasts<00:38:56.809><c> we</c><00:38:57.380><c> think</c><00:38:57.619><c> it's</c><00:38:57.740><c> really</c><00:38:58.010><c> cool</c>

00:38:58.390 --> 00:38:58.400 align:start position:0%
enthusiasts we think it's really cool
 

00:38:58.400 --> 00:38:59.980 align:start position:0%
enthusiasts we think it's really cool
we<00:38:58.549><c> like</c><00:38:58.730><c> algorithms</c><00:38:59.269><c> a</c><00:38:59.390><c> lot</c><00:38:59.599><c> we</c><00:38:59.779><c> like</c>

00:38:59.980 --> 00:38:59.990 align:start position:0%
we like algorithms a lot we like
 

00:38:59.990 --> 00:39:05.849 align:start position:0%
we like algorithms a lot we like
proof-of-work<00:39:00.380><c> a</c><00:39:00.650><c> lot</c><00:39:00.799><c> it's</c><00:39:01.130><c> kind</c><00:39:01.369><c> of</c><00:39:01.430><c> fun</c><00:39:04.690><c> I</c>

00:39:05.849 --> 00:39:05.859 align:start position:0%
proof-of-work a lot it's kind of fun I
 

00:39:05.859 --> 00:39:08.859 align:start position:0%
proof-of-work a lot it's kind of fun I
noticed<00:39:06.859><c> that</c><00:39:07.069><c> someone</c><00:39:07.519><c> on</c><00:39:07.880><c> Bitcoin</c><00:39:08.299><c> talk</c>

00:39:08.859 --> 00:39:08.869 align:start position:0%
noticed that someone on Bitcoin talk
 

00:39:08.869 --> 00:39:11.730 align:start position:0%
noticed that someone on Bitcoin talk
claimed<00:39:09.589><c> that</c><00:39:09.980><c> they</c><00:39:10.430><c> found</c><00:39:10.759><c> a</c><00:39:10.970><c> way</c><00:39:11.000><c> to</c>

00:39:11.730 --> 00:39:11.740 align:start position:0%
claimed that they found a way to
 

00:39:11.740 --> 00:39:16.960 align:start position:0%
claimed that they found a way to
represent<00:39:12.740><c> the</c><00:39:12.920><c> food</c><00:39:13.690><c> Wawa</c><00:39:15.460><c> yes</c><00:39:16.460><c> the</c><00:39:16.730><c> food</c>

00:39:16.960 --> 00:39:16.970 align:start position:0%
represent the food Wawa yes the food
 

00:39:16.970 --> 00:39:19.749 align:start position:0%
represent the food Wawa yes the food
Aggie<00:39:17.299><c> yeah</c><00:39:17.960><c> several</c><00:39:18.230><c> megabytes</c><00:39:18.680><c> so</c><00:39:19.250><c> what</c>

00:39:19.749 --> 00:39:19.759 align:start position:0%
Aggie yeah several megabytes so what
 

00:39:19.759 --> 00:39:25.630 align:start position:0%
Aggie yeah several megabytes so what
that<00:39:19.970><c> well</c><00:39:20.269><c> if</c><00:39:20.990><c> he</c><00:39:21.500><c> is</c><00:39:21.559><c> not</c><00:39:22.009><c> lying</c><00:39:22.390><c> what</c><00:39:24.640><c> the</c>

00:39:25.630 --> 00:39:25.640 align:start position:0%
that well if he is not lying what the
 

00:39:25.640 --> 00:39:28.630 align:start position:0%
that well if he is not lying what the
protocol<00:39:26.059><c> I</c><00:39:26.329><c> will</c><00:39:27.289><c> again</c><00:39:27.859><c> we</c><00:39:28.160><c> pointed</c><00:39:28.549><c> that</c>

00:39:28.630 --> 00:39:28.640 align:start position:0%
protocol I will again we pointed that
 

00:39:28.640 --> 00:39:31.839 align:start position:0%
protocol I will again we pointed that
out<00:39:28.700><c> it's</c><00:39:29.000><c> the</c><00:39:29.180><c> FN</c><00:39:29.480><c> v1a</c><00:39:29.930><c> attack</c><00:39:30.410><c> it</c><00:39:31.130><c> does</c><00:39:31.369><c> or</c><00:39:31.670><c> F</c>

00:39:31.839 --> 00:39:31.849 align:start position:0%
out it's the FN v1a attack it does or F
 

00:39:31.849 --> 00:39:34.710 align:start position:0%
out it's the FN v1a attack it does or F
and<00:39:32.059><c> V</c><00:39:32.119><c> attack</c><00:39:32.539><c> it</c><00:39:32.750><c> doesn't</c><00:39:33.380><c> affect</c><00:39:33.470><c> prog</c><00:39:33.920><c> pal</c>

00:39:34.710 --> 00:39:34.720 align:start position:0%
and V attack it doesn't affect prog pal
 

00:39:34.720 --> 00:39:37.900 align:start position:0%
and V attack it doesn't affect prog pal
but<00:39:35.720><c> yes</c><00:39:35.930><c> so</c><00:39:36.230><c> Wawa</c><00:39:36.589><c> is</c><00:39:36.829><c> on</c><00:39:37.130><c> to</c><00:39:37.309><c> something</c><00:39:37.700><c> and</c>

00:39:37.900 --> 00:39:37.910 align:start position:0%
but yes so Wawa is on to something and
 

00:39:37.910 --> 00:39:45.789 align:start position:0%
but yes so Wawa is on to something and
he<00:39:38.599><c> will</c><00:39:38.720><c> be</c><00:39:38.869><c> a</c><00:39:38.900><c> very</c><00:39:39.170><c> rich</c><00:39:39.289><c> man</c><00:39:44.170><c> is</c><00:39:45.170><c> there</c><00:39:45.559><c> any</c>

00:39:45.789 --> 00:39:45.799 align:start position:0%
he will be a very rich man is there any
 

00:39:45.799 --> 00:39:50.319 align:start position:0%
he will be a very rich man is there any
like<00:39:46.309><c> economic</c><00:39:46.880><c> analysis</c><00:39:47.450><c> on</c><00:39:48.190><c> how</c><00:39:49.190><c> that</c><00:39:49.329><c> well</c>

00:39:50.319 --> 00:39:50.329 align:start position:0%
like economic analysis on how that well
 

00:39:50.329 --> 00:39:53.319 align:start position:0%
like economic analysis on how that well
first<00:39:50.539><c> of</c><00:39:50.660><c> all</c><00:39:50.720><c> how</c><00:39:51.019><c> the</c><00:39:52.059><c> hardware</c><00:39:53.059><c> that</c><00:39:53.089><c> you</c>

00:39:53.319 --> 00:39:53.329 align:start position:0%
first of all how the hardware that you
 

00:39:53.329 --> 00:39:57.130 align:start position:0%
first of all how the hardware that you
can<00:39:53.480><c> currently</c><00:39:53.809><c> buy</c><00:39:54.789><c> improves</c><00:39:55.789><c> current</c><00:39:56.690><c> GPUs</c>

00:39:57.130 --> 00:39:57.140 align:start position:0%
can currently buy improves current GPUs
 

00:39:57.140 --> 00:40:00.519 align:start position:0%
can currently buy improves current GPUs
performance<00:39:57.740><c> versus</c><00:39:58.660><c> basic</c><00:39:59.660><c> miners</c><00:40:00.019><c> and</c><00:40:00.289><c> how</c>

00:40:00.519 --> 00:40:00.529 align:start position:0%
performance versus basic miners and how
 

00:40:00.529 --> 00:40:04.059 align:start position:0%
performance versus basic miners and how
would<00:40:00.589><c> that</c><00:40:01.420><c> like</c><00:40:02.420><c> how</c><00:40:02.660><c> would</c><00:40:02.809><c> that</c><00:40:02.930><c> change</c><00:40:03.200><c> in</c>

00:40:04.059 --> 00:40:04.069 align:start position:0%
would that like how would that change in
 

00:40:04.069 --> 00:40:07.240 align:start position:0%
would that like how would that change in
like<00:40:04.579><c> in</c><00:40:04.759><c> the</c><00:40:04.910><c> world</c><00:40:05.180><c> of</c><00:40:05.420><c> proc</c><00:40:05.690><c> Val</c><00:40:06.130><c> so</c><00:40:07.130><c> the</c>

00:40:07.240 --> 00:40:07.250 align:start position:0%
like in the world of proc Val so the
 

00:40:07.250 --> 00:40:08.890 align:start position:0%
like in the world of proc Val so the
biggest<00:40:07.430><c> thing</c><00:40:07.670><c> is</c><00:40:07.940><c> when</c><00:40:08.119><c> we</c><00:40:08.180><c> do</c><00:40:08.420><c> our</c>

00:40:08.890 --> 00:40:08.900 align:start position:0%
biggest thing is when we do our
 

00:40:08.900 --> 00:40:11.710 align:start position:0%
biggest thing is when we do our
analysis<00:40:09.650><c> we</c><00:40:09.859><c> compare</c><00:40:10.309><c> silicone</c><00:40:11.089><c> costs</c><00:40:11.569><c> to</c>

00:40:11.710 --> 00:40:11.720 align:start position:0%
analysis we compare silicone costs to
 

00:40:11.720 --> 00:40:14.109 align:start position:0%
analysis we compare silicone costs to
silicone<00:40:12.200><c> cost</c><00:40:12.470><c> so</c><00:40:13.279><c> I</c><00:40:13.309><c> never</c><00:40:13.430><c> play</c><00:40:13.849><c> in</c><00:40:14.029><c> the</c>

00:40:14.109 --> 00:40:14.119 align:start position:0%
silicone cost so I never play in the
 

00:40:14.119 --> 00:40:17.650 align:start position:0%
silicone cost so I never play in the
realm<00:40:14.329><c> of</c><00:40:14.569><c> like</c><00:40:14.809><c> what</c><00:40:15.079><c> what</c><00:40:16.069><c> MSRP</c><00:40:16.759><c> is</c><00:40:16.970><c> for</c><00:40:17.390><c> GPU</c>

00:40:17.650 --> 00:40:17.660 align:start position:0%
realm of like what what MSRP is for GPU
 

00:40:17.660 --> 00:40:19.359 align:start position:0%
realm of like what what MSRP is for GPU
cards<00:40:18.079><c> because</c><00:40:18.440><c> there</c><00:40:18.680><c> is</c><00:40:18.769><c> there</c><00:40:19.130><c> are</c><00:40:19.220><c> ways</c>

00:40:19.359 --> 00:40:19.369 align:start position:0%
cards because there is there are ways
 

00:40:19.369 --> 00:40:22.900 align:start position:0%
cards because there is there are ways
around<00:40:19.400><c> that</c><00:40:20.799><c> the</c><00:40:21.799><c> I'm</c><00:40:22.369><c> guessing</c><00:40:22.789><c> you're</c>

00:40:22.900 --> 00:40:22.910 align:start position:0%
around that the I'm guessing you're
 

00:40:22.910 --> 00:40:24.609 align:start position:0%
around that the I'm guessing you're
talking<00:40:23.210><c> about</c><00:40:23.329><c> like</c><00:40:23.569><c> the</c><00:40:23.720><c> cost</c><00:40:23.960><c> of</c><00:40:24.140><c> an</c><00:40:24.230><c> ASIC</c>

00:40:24.609 --> 00:40:24.619 align:start position:0%
talking about like the cost of an ASIC
 

00:40:24.619 --> 00:40:27.009 align:start position:0%
talking about like the cost of an ASIC
versus<00:40:24.950><c> a</c><00:40:24.980><c> cost</c><00:40:25.279><c> of</c><00:40:25.400><c> a</c><00:40:25.490><c> GPU</c><00:40:25.880><c> in</c><00:40:26.509><c> the</c><00:40:26.690><c> world</c><00:40:26.869><c> of</c>

00:40:27.009 --> 00:40:27.019 align:start position:0%
versus a cost of a GPU in the world of
 

00:40:27.019 --> 00:40:30.579 align:start position:0%
versus a cost of a GPU in the world of
prog<00:40:27.230><c> pal</c><00:40:27.910><c> yeah</c><00:40:28.910><c> well</c><00:40:29.359><c> I</c><00:40:29.839><c> know</c><00:40:29.990><c> so</c><00:40:30.289><c> that</c>

00:40:30.579 --> 00:40:30.589 align:start position:0%
prog pal yeah well I know so that
 

00:40:30.589 --> 00:40:33.640 align:start position:0%
prog pal yeah well I know so that
comparing<00:40:31.220><c> to</c><00:40:31.460><c> the</c><00:40:31.670><c> cost</c><00:40:31.940><c> of</c><00:40:32.180><c> ASIC</c><00:40:33.049><c> versus</c><00:40:33.529><c> the</c>

00:40:33.640 --> 00:40:33.650 align:start position:0%
comparing to the cost of ASIC versus the
 

00:40:33.650 --> 00:40:36.549 align:start position:0%
comparing to the cost of ASIC versus the
cost<00:40:33.859><c> of</c><00:40:34.130><c> GPU</c><00:40:34.819><c> plus</c><00:40:35.180><c> acorn</c><00:40:35.930><c> plus</c><00:40:36.289><c> all</c><00:40:36.470><c> the</c>

00:40:36.549 --> 00:40:36.559 align:start position:0%
cost of GPU plus acorn plus all the
 

00:40:36.559 --> 00:40:37.539 align:start position:0%
cost of GPU plus acorn plus all the
other<00:40:36.680><c> stuff</c><00:40:36.950><c> oh</c><00:40:37.069><c> yeah</c>

00:40:37.539 --> 00:40:37.549 align:start position:0%
other stuff oh yeah
 

00:40:37.549 --> 00:40:42.819 align:start position:0%
other stuff oh yeah
so<00:40:37.759><c> let's</c><00:40:38.299><c> so</c><00:40:39.049><c> the</c><00:40:39.380><c> cost</c><00:40:39.680><c> of</c><00:40:40.130><c> a</c><00:40:40.309><c> GPU</c><00:40:40.640><c> card</c><00:40:41.829><c> will</c>

00:40:42.819 --> 00:40:42.829 align:start position:0%
so let's so the cost of a GPU card will
 

00:40:42.829 --> 00:40:45.160 align:start position:0%
so let's so the cost of a GPU card will
talk<00:40:43.009><c> roughly</c><00:40:43.400><c> about</c><00:40:43.640><c> that</c><00:40:43.819><c> today</c><00:40:44.480><c> it's</c>

00:40:45.160 --> 00:40:45.170 align:start position:0%
talk roughly about that today it's
 

00:40:45.170 --> 00:40:48.789 align:start position:0%
talk roughly about that today it's
around<00:40:45.730><c> it's</c><00:40:46.730><c> around</c><00:40:47.170><c> $100</c><00:40:48.170><c> for</c><00:40:48.410><c> the</c><00:40:48.499><c> memory</c>

00:40:48.789 --> 00:40:48.799 align:start position:0%
around it's around $100 for the memory
 

00:40:48.799 --> 00:40:53.410 align:start position:0%
around it's around $100 for the memory
on<00:40:49.249><c> its</c><00:40:49.430><c> own</c><00:40:49.579><c> for</c><00:40:49.789><c> 8</c><00:40:49.880><c> gigabytes</c><00:40:50.329><c> of</c><00:40:50.809><c> gddr5</c><00:40:52.420><c> g6</c>

00:40:53.410 --> 00:40:53.420 align:start position:0%
on its own for 8 gigabytes of gddr5 g6
 

00:40:53.420 --> 00:40:57.069 align:start position:0%
on its own for 8 gigabytes of gddr5 g6
is<00:40:53.599><c> around</c><00:40:53.920><c> 150</c><00:40:54.920><c> the</c><00:40:55.579><c> GPU</c><00:40:55.970><c> ASIC</c><00:40:56.359><c> itself</c><00:40:56.749><c> is</c>

00:40:57.069 --> 00:40:57.079 align:start position:0%
is around 150 the GPU ASIC itself is
 

00:40:57.079 --> 00:41:00.460 align:start position:0%
is around 150 the GPU ASIC itself is
around<00:40:57.940><c> $40</c><00:40:58.940><c> or</c><00:40:59.119><c> $50</c><00:40:59.749><c> depending</c><00:41:00.259><c> on</c><00:41:00.349><c> it</c>

00:41:00.460 --> 00:41:00.470 align:start position:0%
around $40 or $50 depending on it
 

00:41:00.470 --> 00:41:03.099 align:start position:0%
around $40 or $50 depending on it
whether<00:41:00.619><c> it's</c><00:41:00.769><c> Nvidia</c><00:41:01.130><c> or</c><00:41:01.190><c> AMD</c><00:41:01.279><c> and</c><00:41:02.029><c> the</c><00:41:02.630><c> PCB</c>

00:41:03.099 --> 00:41:03.109 align:start position:0%
whether it's Nvidia or AMD and the PCB
 

00:41:03.109 --> 00:41:05.950 align:start position:0%
whether it's Nvidia or AMD and the PCB
is<00:41:03.319><c> 25</c><00:41:03.890><c> bucks</c><00:41:04.160><c> and</c><00:41:04.579><c> the</c><00:41:04.880><c> heatsink</c><00:41:05.359><c> admin</c>

00:41:05.950 --> 00:41:05.960 align:start position:0%
is 25 bucks and the heatsink admin
 

00:41:05.960 --> 00:41:09.489 align:start position:0%
is 25 bucks and the heatsink admin
miscellaneous<00:41:06.950><c> it's</c><00:41:07.640><c> around</c><00:41:07.880><c> $15</c><00:41:08.569><c> now</c><00:41:09.380><c> an</c>

00:41:09.489 --> 00:41:09.499 align:start position:0%
miscellaneous it's around $15 now an
 

00:41:09.499 --> 00:41:12.910 align:start position:0%
miscellaneous it's around $15 now an
ASIC<00:41:10.099><c> an</c><00:41:10.400><c> ASIC</c><00:41:11.359><c> is</c><00:41:11.450><c> really</c><00:41:11.749><c> cheap</c><00:41:12.019><c> so</c><00:41:12.499><c> we</c>

00:41:12.910 --> 00:41:12.920 align:start position:0%
ASIC an ASIC is really cheap so we
 

00:41:12.920 --> 00:41:14.739 align:start position:0%
ASIC an ASIC is really cheap so we
talked<00:41:13.369><c> a</c><00:41:13.400><c> little</c><00:41:13.609><c> bit</c><00:41:13.789><c> about</c><00:41:13.910><c> the</c><00:41:14.150><c> e3</c><00:41:14.299><c> because</c>

00:41:14.739 --> 00:41:14.749 align:start position:0%
talked a little bit about the e3 because
 

00:41:14.749 --> 00:41:16.180 align:start position:0%
talked a little bit about the e3 because
it's<00:41:14.900><c> the</c><00:41:14.989><c> one</c><00:41:15.140><c> I</c><00:41:15.170><c> have</c><00:41:15.349><c> the</c><00:41:15.440><c> most</c><00:41:15.589><c> experience</c>

00:41:16.180 --> 00:41:16.190 align:start position:0%
it's the one I have the most experience
 

00:41:16.190 --> 00:41:18.489 align:start position:0%
it's the one I have the most experience
with<00:41:16.279><c> I</c><00:41:16.609><c> haven't</c><00:41:16.880><c> analyzed</c><00:41:17.569><c> ed</c><00:41:17.869><c> Lindsay's</c><00:41:18.259><c> at</c>

00:41:18.489 --> 00:41:18.499 align:start position:0%
with I haven't analyzed ed Lindsay's at
 

00:41:18.499 --> 00:41:22.479 align:start position:0%
with I haven't analyzed ed Lindsay's at
hashe<00:41:18.890><c> 6</c><00:41:19.160><c> but</c><00:41:19.910><c> the</c><00:41:20.059><c> e3</c><00:41:20.539><c> chips</c><00:41:20.930><c> the</c><00:41:21.859><c> DRAM</c><00:41:22.190><c> chips</c>

00:41:22.479 --> 00:41:22.489 align:start position:0%
hashe 6 but the e3 chips the DRAM chips
 

00:41:22.489 --> 00:41:26.140 align:start position:0%
hashe 6 but the e3 chips the DRAM chips
were<00:41:22.940><c> brought</c><00:41:23.210><c> for</c><00:41:23.480><c> $3</c><00:41:24.109><c> 50</c><00:41:24.470><c> each</c><00:41:25.150><c> that's</c>

00:41:26.140 --> 00:41:26.150 align:start position:0%
were brought for $3 50 each that's
 

00:41:26.150 --> 00:41:28.539 align:start position:0%
were brought for $3 50 each that's
actually<00:41:26.539><c> public</c><00:41:27.049><c> on</c><00:41:27.230><c> if</c><00:41:27.769><c> you</c><00:41:27.950><c> if</c><00:41:28.160><c> you</c><00:41:28.279><c> check</c>

00:41:28.539 --> 00:41:28.549 align:start position:0%
actually public on if you if you check
 

00:41:28.549 --> 00:41:32.799 align:start position:0%
actually public on if you if you check
their<00:41:28.789><c> l</c><00:41:29.299><c> PETA's</c><00:41:29.720><c> Oh</c><00:41:30.670><c> Peters</c><00:41:31.670><c> filings</c><00:41:32.150><c> you</c><00:41:32.450><c> can</c>

00:41:32.799 --> 00:41:32.809 align:start position:0%
their l PETA's Oh Peters filings you can
 

00:41:32.809 --> 00:41:34.660 align:start position:0%
their l PETA's Oh Peters filings you can
see<00:41:32.989><c> how</c><00:41:33.470><c> much</c><00:41:33.650><c> was</c><00:41:33.859><c> brought</c><00:41:34.099><c> in</c><00:41:34.249><c> that</c><00:41:34.369><c> certain</c>

00:41:34.660 --> 00:41:34.670 align:start position:0%
see how much was brought in that certain
 

00:41:34.670 --> 00:41:37.509 align:start position:0%
see how much was brought in that certain
period<00:41:35.180><c> then</c><00:41:35.720><c> the</c><00:41:35.869><c> PCB</c><00:41:36.349><c> is</c><00:41:36.529><c> only</c><00:41:36.710><c> around</c><00:41:36.890><c> 20</c><00:41:37.369><c> to</c>

00:41:37.509 --> 00:41:37.519 align:start position:0%
period then the PCB is only around 20 to
 

00:41:37.519 --> 00:41:40.269 align:start position:0%
period then the PCB is only around 20 to
25<00:41:37.549><c> dollars</c><00:41:38.329><c> the</c><00:41:39.170><c> heatsink</c><00:41:39.680><c> the</c><00:41:39.829><c> sheet</c><00:41:40.069><c> metal</c>

00:41:40.269 --> 00:41:40.279 align:start position:0%
25 dollars the heatsink the sheet metal
 

00:41:40.279 --> 00:41:43.059 align:start position:0%
25 dollars the heatsink the sheet metal
everything<00:41:40.940><c> else</c><00:41:41.119><c> assumed</c><00:41:41.720><c> $30</c><00:41:42.319><c> so</c><00:41:42.799><c> there</c><00:41:42.950><c> is</c>

00:41:43.059 --> 00:41:43.069 align:start position:0%
everything else assumed $30 so there is
 

00:41:43.069 --> 00:41:45.160 align:start position:0%
everything else assumed $30 so there is
quite<00:41:43.400><c> a</c><00:41:43.430><c> large</c><00:41:43.730><c> gap</c><00:41:44.180><c> and</c><00:41:44.509><c> then</c><00:41:44.809><c> you</c><00:41:44.900><c> have</c><00:41:45.049><c> to</c>

00:41:45.160 --> 00:41:45.170 align:start position:0%
quite a large gap and then you have to
 

00:41:45.170 --> 00:41:49.329 align:start position:0%
quite a large gap and then you have to
factor<00:41:45.410><c> in</c><00:41:45.589><c> the</c><00:41:45.859><c> MSRP</c><00:41:46.339><c> as</c><00:41:47.269><c> well</c><00:41:47.499><c> now</c><00:41:48.499><c> in</c><00:41:48.920><c> a</c>

00:41:49.329 --> 00:41:49.339 align:start position:0%
factor in the MSRP as well now in a
 

00:41:49.339 --> 00:41:51.249 align:start position:0%
factor in the MSRP as well now in a
probe<00:41:49.549><c> pal</c><00:41:49.789><c> world</c><00:41:50.059><c> they're</c><00:41:50.900><c> going</c><00:41:51.170><c> to</c>

00:41:51.249 --> 00:41:51.259 align:start position:0%
probe pal world they're going to
 

00:41:51.259 --> 00:41:53.079 align:start position:0%
probe pal world they're going to
actually<00:41:51.410><c> match</c><00:41:51.890><c> on</c><00:41:52.160><c> a</c><00:41:52.190><c> silicon</c><00:41:52.789><c> and</c><00:41:53.059><c> a</c>

00:41:53.079 --> 00:41:53.089 align:start position:0%
actually match on a silicon and a
 

00:41:53.089 --> 00:41:56.650 align:start position:0%
actually match on a silicon and a
heatsink<00:41:53.869><c> cost</c><00:41:54.200><c> and</c><00:41:54.619><c> the</c><00:41:55.309><c> only</c><00:41:55.489><c> savings</c><00:41:56.210><c> as</c><00:41:56.509><c> I</c>

00:41:56.650 --> 00:41:56.660 align:start position:0%
heatsink cost and the only savings as I
 

00:41:56.660 --> 00:41:58.450 align:start position:0%
heatsink cost and the only savings as I
as<00:41:56.989><c> I</c><00:41:57.230><c> said</c><00:41:57.440><c> before</c><00:41:57.739><c> you're</c><00:41:57.890><c> going</c><00:41:58.099><c> to</c><00:41:58.190><c> get</c><00:41:58.339><c> is</c>

00:41:58.450 --> 00:41:58.460 align:start position:0%
as I said before you're going to get is
 

00:41:58.460 --> 00:42:00.670 align:start position:0%
as I said before you're going to get is
by<00:41:58.640><c> shaving</c><00:41:59.119><c> off</c><00:41:59.239><c> those</c><00:41:59.450><c> unused</c><00:41:59.960><c> dye</c><00:42:00.230><c> cases</c>

00:42:00.670 --> 00:42:00.680 align:start position:0%
by shaving off those unused dye cases
 

00:42:00.680 --> 00:42:02.650 align:start position:0%
by shaving off those unused dye cases
that<00:42:01.039><c> we</c><00:42:01.190><c> can't</c><00:42:01.430><c> really</c><00:42:01.609><c> find</c><00:42:01.910><c> it</c><00:42:02.029><c> use</c><00:42:02.150><c> for</c><00:42:02.390><c> and</c>

00:42:02.650 --> 00:42:02.660 align:start position:0%
that we can't really find it use for and
 

00:42:02.660 --> 00:42:05.200 align:start position:0%
that we can't really find it use for and
that's<00:42:03.619><c> gonna</c><00:42:03.799><c> save</c><00:42:04.160><c> you</c><00:42:04.309><c> around</c><00:42:04.609><c> two</c><00:42:05.059><c> to</c>

00:42:05.200 --> 00:42:05.210 align:start position:0%
that's gonna save you around two to
 

00:42:05.210 --> 00:42:09.700 align:start position:0%
that's gonna save you around two to
three<00:42:05.239><c> dollars</c><00:42:05.660><c> per</c><00:42:06.109><c> GPU</c><00:42:06.769><c> card</c><00:42:07.569><c> so</c><00:42:08.710><c> there's</c>

00:42:09.700 --> 00:42:09.710 align:start position:0%
three dollars per GPU card so there's
 

00:42:09.710 --> 00:42:12.759 align:start position:0%
three dollars per GPU card so there's
also<00:42:09.920><c> the</c><00:42:10.339><c> basic</c><00:42:11.089><c> design</c><00:42:11.269><c> costs</c><00:42:11.989><c> right</c><00:42:12.559><c> and</c>

00:42:12.759 --> 00:42:12.769 align:start position:0%
also the basic design costs right and
 

00:42:12.769 --> 00:42:13.400 align:start position:0%
also the basic design costs right and
any

00:42:13.400 --> 00:42:13.410 align:start position:0%
any
 

00:42:13.410 --> 00:42:20.420 align:start position:0%
any
and<00:42:15.800><c> ASIC</c><00:42:16.800><c> design</c><00:42:17.300><c> R&amp;D</c><00:42:18.300><c> I</c><00:42:18.630><c> mean</c><00:42:19.560><c> I'm</c><00:42:20.130><c> not</c><00:42:20.370><c> sure</c>

00:42:20.420 --> 00:42:20.430 align:start position:0%
and ASIC design R&amp;D I mean I'm not sure
 

00:42:20.430 --> 00:42:23.300 align:start position:0%
and ASIC design R&amp;D I mean I'm not sure
how<00:42:20.730><c> public</c><00:42:21.240><c> some</c><00:42:21.720><c> people's</c><00:42:22.080><c> costs</c><00:42:22.530><c> are</c><00:42:22.710><c> but</c>

00:42:23.300 --> 00:42:23.310 align:start position:0%
how public some people's costs are but
 

00:42:23.310 --> 00:42:26.570 align:start position:0%
how public some people's costs are but
like<00:42:23.520><c> for</c><00:42:23.850><c> for</c><00:42:24.270><c> a</c><00:42:24.300><c> sia</c><00:42:24.780><c> ASIC</c><00:42:25.320><c> or</c><00:42:25.590><c> for</c><00:42:25.860><c> even</c><00:42:26.490><c> a</c>

00:42:26.570 --> 00:42:26.580 align:start position:0%
like for for a sia ASIC or for even a
 

00:42:26.580 --> 00:42:28.790 align:start position:0%
like for for a sia ASIC or for even a
sha-256<00:42:27.480><c> ASIC</c><00:42:27.900><c> you</c><00:42:28.020><c> can</c><00:42:28.200><c> get</c><00:42:28.320><c> them</c><00:42:28.440><c> as</c><00:42:28.560><c> cheap</c>

00:42:28.790 --> 00:42:28.800 align:start position:0%
sha-256 ASIC you can get them as cheap
 

00:42:28.800 --> 00:42:32.750 align:start position:0%
sha-256 ASIC you can get them as cheap
as<00:42:29.010><c> 10k</c><00:42:29.780><c> R&amp;D</c><00:42:30.780><c> cost</c><00:42:31.020><c> and</c><00:42:31.350><c> a</c><00:42:31.800><c> pro</c><00:42:32.010><c> growl</c><00:42:32.310><c> a</c><00:42:32.340><c> sick</c>

00:42:32.750 --> 00:42:32.760 align:start position:0%
as 10k R&amp;D cost and a pro growl a sick
 

00:42:32.760 --> 00:42:35.000 align:start position:0%
as 10k R&amp;D cost and a pro growl a sick
it's<00:42:33.000><c> pretty</c><00:42:33.570><c> simple</c><00:42:34.020><c> to</c><00:42:34.080><c> make</c><00:42:34.380><c> since</c><00:42:34.740><c> all</c><00:42:34.890><c> the</c>

00:42:35.000 --> 00:42:35.010 align:start position:0%
it's pretty simple to make since all the
 

00:42:35.010 --> 00:42:37.760 align:start position:0%
it's pretty simple to make since all the
code<00:42:35.250><c> is</c><00:42:35.460><c> open</c><00:42:35.490><c> source</c><00:42:35.790><c> and</c><00:42:36.300><c> he'll</c><00:42:36.530><c> maybe</c><00:42:37.530><c> when</c>

00:42:37.760 --> 00:42:37.770 align:start position:0%
code is open source and he'll maybe when
 

00:42:37.770 --> 00:42:39.230 align:start position:0%
code is open source and he'll maybe when
we<00:42:37.860><c> have</c><00:42:38.010><c> some</c><00:42:38.190><c> spare</c><00:42:38.430><c> time</c><00:42:38.460><c> we</c><00:42:38.820><c> can</c><00:42:38.970><c> just</c><00:42:39.150><c> make</c>

00:42:39.230 --> 00:42:39.240 align:start position:0%
we have some spare time we can just make
 

00:42:39.240 --> 00:42:40.970 align:start position:0%
we have some spare time we can just make
open<00:42:39.600><c> source</c><00:42:39.810><c> schematics</c><00:42:40.290><c> of</c><00:42:40.440><c> a</c><00:42:40.530><c> probe</c><00:42:40.800><c> pal</c>

00:42:40.970 --> 00:42:40.980 align:start position:0%
open source schematics of a probe pal
 

00:42:40.980 --> 00:42:43.880 align:start position:0%
open source schematics of a probe pal
basic<00:42:41.370><c> why</c><00:42:42.000><c> the</c><00:42:42.060><c> hell</c><00:42:42.270><c> not</c><00:42:42.450><c> a</c><00:42:42.810><c> better</c><00:42:43.650><c> way</c><00:42:43.830><c> to</c>

00:42:43.880 --> 00:42:43.890 align:start position:0%
basic why the hell not a better way to
 

00:42:43.890 --> 00:42:55.550 align:start position:0%
basic why the hell not a better way to
prove<00:42:44.130><c> our</c><00:42:44.280><c> point</c><00:42:45.800><c> thank</c><00:42:46.800><c> you</c><00:42:54.050><c> yeah</c><00:42:55.050><c> I</c><00:42:55.080><c> just</c>

00:42:55.550 --> 00:42:55.560 align:start position:0%
prove our point thank you yeah I just
 

00:42:55.560 --> 00:42:57.500 align:start position:0%
prove our point thank you yeah I just
want<00:42:55.860><c> to</c><00:42:55.950><c> make</c><00:42:56.070><c> a</c><00:42:56.100><c> guess</c><00:42:56.760><c> a</c><00:42:56.820><c> quick</c><00:42:57.060><c> point</c><00:42:57.330><c> for</c>

00:42:57.500 --> 00:42:57.510 align:start position:0%
want to make a guess a quick point for
 

00:42:57.510 --> 00:42:59.960 align:start position:0%
want to make a guess a quick point for
people<00:42:58.170><c> in</c><00:42:58.440><c> the</c><00:42:58.560><c> audience</c><00:42:58.590><c> from</c><00:42:59.430><c> this</c><00:42:59.730><c> coming</c>

00:42:59.960 --> 00:42:59.970 align:start position:0%
people in the audience from this coming
 

00:42:59.970 --> 00:43:01.630 align:start position:0%
people in the audience from this coming
from<00:43:00.090><c> miner</c><00:43:00.330><c> miners</c><00:43:00.870><c> mostly</c><00:43:01.230><c> just</c><00:43:01.440><c> care</c><00:43:01.590><c> about</c>

00:43:01.630 --> 00:43:01.640 align:start position:0%
from miner miners mostly just care about
 

00:43:01.640 --> 00:43:06.740 align:start position:0%
from miner miners mostly just care about
the<00:43:04.460><c> profit</c><00:43:05.460><c> that</c><00:43:05.490><c> they're</c><00:43:05.700><c> making</c><00:43:05.850><c> correct</c>

00:43:06.740 --> 00:43:06.750 align:start position:0%
the profit that they're making correct
 

00:43:06.750 --> 00:43:10.130 align:start position:0%
the profit that they're making correct
so<00:43:07.080><c> it</c><00:43:07.800><c> the</c><00:43:08.430><c> revenue</c><00:43:08.820><c> is</c><00:43:08.940><c> gonna</c><00:43:09.150><c> be</c><00:43:09.360><c> you</c><00:43:10.020><c> know</c>

00:43:10.130 --> 00:43:10.140 align:start position:0%
so it the revenue is gonna be you know
 

00:43:10.140 --> 00:43:13.610 align:start position:0%
so it the revenue is gonna be you know
how<00:43:10.320><c> much</c><00:43:10.530><c> coin</c><00:43:10.800><c> you're</c><00:43:11.040><c> mining</c><00:43:12.350><c> times</c><00:43:13.350><c> its</c>

00:43:13.610 --> 00:43:13.620 align:start position:0%
how much coin you're mining times its
 

00:43:13.620 --> 00:43:16.130 align:start position:0%
how much coin you're mining times its
value<00:43:13.770><c> you</c><00:43:14.160><c> can</c><00:43:14.310><c> sell</c><00:43:14.520><c> it</c><00:43:14.640><c> in</c><00:43:14.760><c> to</c><00:43:14.940><c> you</c><00:43:15.240><c> know</c><00:43:15.360><c> all</c>

00:43:16.130 --> 00:43:16.140 align:start position:0%
value you can sell it in to you know all
 

00:43:16.140 --> 00:43:19.790 align:start position:0%
value you can sell it in to you know all
the<00:43:16.380><c> miners</c><00:43:16.680><c> have</c><00:43:17.660><c> real-world</c><00:43:18.660><c> Fiat</c><00:43:19.320><c> costs</c>

00:43:19.790 --> 00:43:19.800 align:start position:0%
the miners have real-world Fiat costs
 

00:43:19.800 --> 00:43:21.080 align:start position:0%
the miners have real-world Fiat costs
they<00:43:20.100><c> have</c><00:43:20.190><c> to</c><00:43:20.250><c> pay</c><00:43:20.340><c> the</c><00:43:20.430><c> power</c><00:43:20.610><c> companies</c><00:43:20.970><c> in</c>

00:43:21.080 --> 00:43:21.090 align:start position:0%
they have to pay the power companies in
 

00:43:21.090 --> 00:43:22.130 align:start position:0%
they have to pay the power companies in
fiat<00:43:21.420><c> so</c><00:43:21.570><c> they</c><00:43:21.630><c> have</c><00:43:21.720><c> to</c><00:43:21.780><c> convert</c><00:43:21.990><c> the</c>

00:43:22.130 --> 00:43:22.140 align:start position:0%
fiat so they have to convert the
 

00:43:22.140 --> 00:43:24.280 align:start position:0%
fiat so they have to convert the
cryptography<00:43:22.560><c> so</c><00:43:23.190><c> at</c><00:43:23.280><c> the</c><00:43:23.370><c> end</c><00:43:23.490><c> of</c><00:43:23.550><c> the</c><00:43:23.610><c> day</c>

00:43:24.280 --> 00:43:24.290 align:start position:0%
cryptography so at the end of the day
 

00:43:24.290 --> 00:43:26.630 align:start position:0%
cryptography so at the end of the day
they<00:43:25.290><c> just</c><00:43:25.500><c> care</c><00:43:25.650><c> about</c><00:43:25.680><c> their</c><00:43:25.950><c> profit</c><00:43:26.340><c> margin</c>

00:43:26.630 --> 00:43:26.640 align:start position:0%
they just care about their profit margin
 

00:43:26.640 --> 00:43:30.590 align:start position:0%
they just care about their profit margin
and<00:43:26.760><c> so</c><00:43:27.420><c> you</c><00:43:28.020><c> know</c><00:43:28.520><c> Minh</c><00:43:29.520><c> wants</c><00:43:29.790><c> to</c><00:43:29.910><c> develop</c><00:43:30.180><c> a</c>

00:43:30.590 --> 00:43:30.600 align:start position:0%
and so you know Minh wants to develop a
 

00:43:30.600 --> 00:43:32.990 align:start position:0%
and so you know Minh wants to develop a
ASIC<00:43:31.500><c> for</c><00:43:31.830><c> Prague</c><00:43:32.010><c> cow</c><00:43:32.220><c> and</c><00:43:32.490><c> there's</c><00:43:32.700><c> only</c><00:43:32.910><c> a</c>

00:43:32.990 --> 00:43:33.000 align:start position:0%
ASIC for Prague cow and there's only a
 

00:43:33.000 --> 00:43:35.510 align:start position:0%
ASIC for Prague cow and there's only a
20<00:43:33.540><c> or</c><00:43:33.570><c> 30</c><00:43:33.720><c> percent</c><00:43:34.020><c> speed-up</c><00:43:34.560><c> just</c><00:43:35.280><c> the</c>

00:43:35.510 --> 00:43:35.520 align:start position:0%
20 or 30 percent speed-up just the
 

00:43:35.520 --> 00:43:37.910 align:start position:0%
20 or 30 percent speed-up just the
development<00:43:36.000><c> costs</c><00:43:36.660><c> for</c><00:43:37.080><c> rolling</c><00:43:37.500><c> out</c><00:43:37.650><c> the</c>

00:43:37.910 --> 00:43:37.920 align:start position:0%
development costs for rolling out the
 

00:43:37.920 --> 00:43:40.460 align:start position:0%
development costs for rolling out the
silicon<00:43:38.430><c> and</c><00:43:38.820><c> you</c><00:43:39.570><c> know</c><00:43:39.690><c> building</c><00:43:40.260><c> all</c><00:43:40.440><c> that</c>

00:43:40.460 --> 00:43:40.470 align:start position:0%
silicon and you know building all that
 

00:43:40.470 --> 00:43:41.960 align:start position:0%
silicon and you know building all that
which<00:43:40.890><c> costs</c><00:43:41.250><c> millions</c><00:43:41.580><c> and</c><00:43:41.670><c> millions</c><00:43:41.910><c> of</c>

00:43:41.960 --> 00:43:41.970 align:start position:0%
which costs millions and millions of
 

00:43:41.970 --> 00:43:45.980 align:start position:0%
which costs millions and millions of
dollars<00:43:42.030><c> won't</c><00:43:42.960><c> actually</c><00:43:44.510><c> make</c><00:43:45.510><c> up</c><00:43:45.720><c> for</c><00:43:45.930><c> the</c>

00:43:45.980 --> 00:43:45.990 align:start position:0%
dollars won't actually make up for the
 

00:43:45.990 --> 00:43:48.410 align:start position:0%
dollars won't actually make up for the
gap<00:43:46.140><c> so</c><00:43:46.470><c> it's</c><00:43:47.430><c> not</c><00:43:47.520><c> like</c><00:43:47.670><c> you</c><00:43:47.790><c> guys</c><00:43:47.910><c> have</c><00:43:48.150><c> to</c><00:43:48.300><c> be</c>

00:43:48.410 --> 00:43:48.420 align:start position:0%
gap so it's not like you guys have to be
 

00:43:48.420 --> 00:43:52.550 align:start position:0%
gap so it's not like you guys have to be
like<00:43:48.630><c> just</c><00:43:48.990><c> as</c><00:43:49.170><c> fast</c><00:43:49.410><c> as</c><00:43:49.680><c> ASIC</c><00:43:51.050><c> even</c><00:43:52.050><c> if</c><00:43:52.170><c> a</c><00:43:52.290><c> six</c>

00:43:52.550 --> 00:43:52.560 align:start position:0%
like just as fast as ASIC even if a six
 

00:43:52.560 --> 00:43:54.350 align:start position:0%
like just as fast as ASIC even if a six
or<00:43:52.680><c> ten</c><00:43:52.920><c> or</c><00:43:53.040><c> twenty</c><00:43:53.250><c> percent</c><00:43:53.280><c> faster</c><00:43:53.730><c> it's</c>

00:43:54.350 --> 00:43:54.360 align:start position:0%
or ten or twenty percent faster it's
 

00:43:54.360 --> 00:43:56.330 align:start position:0%
or ten or twenty percent faster it's
just<00:43:54.630><c> not</c><00:43:54.780><c> economical</c><00:43:55.500><c> for</c><00:43:55.680><c> them</c><00:43:55.770><c> to</c><00:43:55.920><c> even</c><00:43:56.160><c> go</c>

00:43:56.330 --> 00:43:56.340 align:start position:0%
just not economical for them to even go
 

00:43:56.340 --> 00:43:58.670 align:start position:0%
just not economical for them to even go
out<00:43:56.430><c> and</c><00:43:56.610><c> deploy</c><00:43:56.820><c> all</c><00:43:57.060><c> that</c><00:43:57.240><c> NRI</c><00:43:58.080><c> cost</c><00:43:58.410><c> to</c>

00:43:58.670 --> 00:43:58.680 align:start position:0%
out and deploy all that NRI cost to
 

00:43:58.680 --> 00:44:01.460 align:start position:0%
out and deploy all that NRI cost to
actually<00:43:58.860><c> build</c><00:43:59.280><c> it</c><00:43:59.430><c> so</c><00:44:00.240><c> I</c><00:44:00.660><c> don't</c><00:44:01.170><c> think</c><00:44:01.350><c> it's</c>

00:44:01.460 --> 00:44:01.470 align:start position:0%
actually build it so I don't think it's
 

00:44:01.470 --> 00:44:05.360 align:start position:0%
actually build it so I don't think it's
like<00:44:01.590><c> you</c><00:44:01.740><c> guys</c><00:44:01.830><c> need</c><00:44:02.100><c> to</c><00:44:02.130><c> even</c><00:44:04.100><c> make</c><00:44:05.100><c> it</c><00:44:05.250><c> so</c>

00:44:05.360 --> 00:44:05.370 align:start position:0%
like you guys need to even make it so
 

00:44:05.370 --> 00:44:07.070 align:start position:0%
like you guys need to even make it so
that<00:44:05.520><c> there's</c><00:44:05.670><c> no</c><00:44:05.940><c> efficiency</c><00:44:06.570><c> speed</c><00:44:06.810><c> up</c><00:44:06.960><c> but</c>

00:44:07.070 --> 00:44:07.080 align:start position:0%
that there's no efficiency speed up but
 

00:44:07.080 --> 00:44:08.600 align:start position:0%
that there's no efficiency speed up but
it<00:44:07.200><c> just</c><00:44:07.230><c> needs</c><00:44:07.470><c> to</c><00:44:07.620><c> be</c><00:44:07.770><c> that</c><00:44:07.890><c> there's</c><00:44:08.070><c> you</c>

00:44:08.600 --> 00:44:08.610 align:start position:0%
it just needs to be that there's you
 

00:44:08.610 --> 00:44:10.310 align:start position:0%
it just needs to be that there's you
know<00:44:08.940><c> even</c><00:44:09.480><c> if</c><00:44:09.570><c> there's</c><00:44:09.750><c> a</c><00:44:09.810><c> 10</c><00:44:09.960><c> and</c><00:44:10.110><c> 20</c><00:44:10.290><c> percent</c>

00:44:10.310 --> 00:44:10.320 align:start position:0%
know even if there's a 10 and 20 percent
 

00:44:10.320 --> 00:44:12.350 align:start position:0%
know even if there's a 10 and 20 percent
speed-up<00:44:10.860><c> it's</c><00:44:11.160><c> good</c><00:44:11.370><c> enough</c><00:44:11.610><c> so</c><00:44:12.060><c> I</c><00:44:12.090><c> mean</c>

00:44:12.350 --> 00:44:12.360 align:start position:0%
speed-up it's good enough so I mean
 

00:44:12.360 --> 00:44:15.800 align:start position:0%
speed-up it's good enough so I mean
right<00:44:12.810><c> now</c><00:44:12.870><c> there's</c><00:44:13.320><c> a</c><00:44:13.430><c> there's</c><00:44:14.430><c> like</c><00:44:14.700><c> a</c><00:44:14.810><c> 7</c>

00:44:15.800 --> 00:44:15.810 align:start position:0%
right now there's a there's like a 7
 

00:44:15.810 --> 00:44:19.010 align:start position:0%
right now there's a there's like a 7
percent<00:44:15.930><c> to</c><00:44:16.410><c> 12</c><00:44:16.800><c> percent</c><00:44:16.890><c> speed</c><00:44:17.430><c> up</c><00:44:17.580><c> but</c><00:44:18.210><c> we</c>

00:44:19.010 --> 00:44:19.020 align:start position:0%
percent to 12 percent speed up but we
 

00:44:19.020 --> 00:44:20.570 align:start position:0%
percent to 12 percent speed up but we
also<00:44:19.200><c> just</c><00:44:19.620><c> like</c><00:44:19.800><c> to</c><00:44:19.980><c> make</c><00:44:20.130><c> it</c><00:44:20.280><c> so</c><00:44:20.400><c> that</c>

00:44:20.570 --> 00:44:20.580 align:start position:0%
also just like to make it so that
 

00:44:20.580 --> 00:44:22.910 align:start position:0%
also just like to make it so that
there's<00:44:20.730><c> no</c><00:44:20.970><c> major</c><00:44:21.660><c> speed-up</c><00:44:22.200><c> because</c><00:44:22.500><c> a</c><00:44:22.740><c> it's</c>

00:44:22.910 --> 00:44:22.920 align:start position:0%
there's no major speed-up because a it's
 

00:44:22.920 --> 00:44:24.680 align:start position:0%
there's no major speed-up because a it's
fun<00:44:23.190><c> sure</c><00:44:23.940><c> yeah</c>

00:44:24.680 --> 00:44:24.690 align:start position:0%
fun sure yeah
 

00:44:24.690 --> 00:44:29.380 align:start position:0%
fun sure yeah
the<00:44:25.380><c> fits</c><00:44:25.830><c> with</c><00:44:25.980><c> the</c><00:44:26.100><c> chaotic</c><00:44:26.400><c> theme</c>

00:44:29.380 --> 00:44:29.390 align:start position:0%
 
 

00:44:29.390 --> 00:44:33.050 align:start position:0%
 
just<00:44:30.390><c> a</c><00:44:30.480><c> follow-on</c><00:44:30.750><c> question</c><00:44:31.700><c> for</c><00:44:32.700><c> that</c><00:44:32.820><c> is</c>

00:44:33.050 --> 00:44:33.060 align:start position:0%
just a follow-on question for that is
 

00:44:33.060 --> 00:44:36.670 align:start position:0%
just a follow-on question for that is
that<00:44:33.470><c> presumably</c><00:44:34.550><c> prop</c><00:44:35.550><c> power</c><00:44:35.760><c> works</c><00:44:36.000><c> on</c>

00:44:36.670 --> 00:44:36.680 align:start position:0%
that presumably prop power works on
 

00:44:36.680 --> 00:44:39.980 align:start position:0%
that presumably prop power works on
standard<00:44:37.680><c> commodity</c><00:44:38.840><c> GPOs</c>

00:44:39.980 --> 00:44:39.990 align:start position:0%
standard commodity GPOs
 

00:44:39.990 --> 00:44:43.310 align:start position:0%
standard commodity GPOs
which<00:44:40.140><c> can</c><00:44:40.380><c> be</c><00:44:40.500><c> redeployed</c><00:44:41.540><c> on</c><00:44:42.540><c> other</c><00:44:42.900><c> uses</c>

00:44:43.310 --> 00:44:43.320 align:start position:0%
which can be redeployed on other uses
 

00:44:43.320 --> 00:44:46.070 align:start position:0%
which can be redeployed on other uses
like<00:44:43.350><c> artificial</c><00:44:43.860><c> intelligence</c><00:44:44.550><c> even</c><00:44:45.300><c> after</c>

00:44:46.070 --> 00:44:46.080 align:start position:0%
like artificial intelligence even after
 

00:44:46.080 --> 00:44:48.859 align:start position:0%
like artificial intelligence even after
a<00:44:46.350><c> theorem</c><00:44:46.920><c> goes</c><00:44:47.100><c> to</c><00:44:47.340><c> proof</c><00:44:47.610><c> of</c><00:44:47.760><c> stake</c><00:44:48.030><c> that's</c>

00:44:48.859 --> 00:44:48.869 align:start position:0%
a theorem goes to proof of stake that's
 

00:44:48.869 --> 00:44:50.510 align:start position:0%
a theorem goes to proof of stake that's
another<00:44:49.290><c> very</c><00:44:49.650><c> big</c><00:44:49.860><c> factor</c><00:44:50.130><c> if</c><00:44:50.400><c> you're</c>

00:44:50.510 --> 00:44:50.520 align:start position:0%
another very big factor if you're
 

00:44:50.520 --> 00:44:52.490 align:start position:0%
another very big factor if you're
considering<00:44:50.970><c> deploying</c><00:44:51.450><c> tens</c><00:44:52.020><c> or</c><00:44:52.200><c> hundreds</c>

00:44:52.490 --> 00:44:52.500 align:start position:0%
considering deploying tens or hundreds
 

00:44:52.500 --> 00:44:55.160 align:start position:0%
considering deploying tens or hundreds
of<00:44:52.590><c> millions</c><00:44:52.860><c> of</c><00:44:52.950><c> dollars</c><00:44:53.100><c> on</c><00:44:53.369><c> an</c><00:44:53.490><c> ASIC</c><00:44:54.170><c> which</c>

00:44:55.160 --> 00:44:55.170 align:start position:0%
of millions of dollars on an ASIC which
 

00:44:55.170 --> 00:44:57.830 align:start position:0%
of millions of dollars on an ASIC which
has<00:44:55.320><c> only</c><00:44:55.530><c> got</c><00:44:55.800><c> one</c><00:44:55.830><c> purpose</c><00:44:56.460><c> where</c><00:44:57.240><c> as</c><00:44:57.390><c> a</c><00:44:57.420><c> GPU</c>

00:44:57.830 --> 00:44:57.840 align:start position:0%
has only got one purpose where as a GPU
 

00:44:57.840 --> 00:45:02.570 align:start position:0%
has only got one purpose where as a GPU
farm<00:44:58.740><c> can</c><00:44:59.520><c> be</c><00:44:59.640><c> reused</c><00:45:00.080><c> is</c><00:45:01.080><c> that</c><00:45:01.290><c> the</c><00:45:01.410><c> case</c><00:45:01.590><c> that</c>

00:45:02.570 --> 00:45:02.580 align:start position:0%
farm can be reused is that the case that
 

00:45:02.580 --> 00:45:05.210 align:start position:0%
farm can be reused is that the case that
is<00:45:02.760><c> very</c><00:45:03.030><c> much</c><00:45:03.210><c> the</c><00:45:03.420><c> case</c><00:45:03.600><c> I</c><00:45:04.170><c> can</c><00:45:04.980><c> talk</c><00:45:05.190><c> a</c>

00:45:05.210 --> 00:45:05.220 align:start position:0%
is very much the case I can talk a
 

00:45:05.220 --> 00:45:07.070 align:start position:0%
is very much the case I can talk a
little<00:45:05.460><c> bit</c><00:45:05.640><c> about</c><00:45:05.820><c> how</c><00:45:06.000><c> awesome</c><00:45:06.210><c> GPUs</c><00:45:06.869><c> are</c>

00:45:07.070 --> 00:45:07.080 align:start position:0%
little bit about how awesome GPUs are
 

00:45:07.080 --> 00:45:09.890 align:start position:0%
little bit about how awesome GPUs are
they're<00:45:07.290><c> repurpose</c><00:45:07.890><c> 'fl</c><00:45:08.070><c> I</c><00:45:08.280><c> love</c><00:45:08.640><c> that</c><00:45:08.900><c> you</c>

00:45:09.890 --> 00:45:09.900 align:start position:0%
they're repurpose 'fl I love that you
 

00:45:09.900 --> 00:45:11.750 align:start position:0%
they're repurpose 'fl I love that you
can<00:45:10.020><c> play</c><00:45:10.200><c> a</c><00:45:10.230><c> game</c><00:45:10.320><c> on</c><00:45:10.680><c> it</c><00:45:10.830><c> though</c><00:45:11.040><c> most</c><00:45:11.400><c> miners</c>

00:45:11.750 --> 00:45:11.760 align:start position:0%
can play a game on it though most miners
 

00:45:11.760 --> 00:45:13.220 align:start position:0%
can play a game on it though most miners
won't<00:45:11.970><c> be</c><00:45:12.090><c> playing</c><00:45:12.330><c> games</c><00:45:12.570><c> with</c><00:45:12.750><c> their</c><00:45:12.900><c> mining</c>

00:45:13.220 --> 00:45:13.230 align:start position:0%
won't be playing games with their mining
 

00:45:13.230 --> 00:45:16.609 align:start position:0%
won't be playing games with their mining
farms<00:45:13.619><c> but</c><00:45:14.190><c> you</c><00:45:14.340><c> can</c><00:45:14.550><c> use</c><00:45:14.790><c> alternate</c><00:45:15.500><c> you</c><00:45:16.500><c> know</c>

00:45:16.609 --> 00:45:16.619 align:start position:0%
farms but you can use alternate you know
 

00:45:16.619 --> 00:45:20.300 align:start position:0%
farms but you can use alternate you know
alternate<00:45:17.119><c> proofs</c><00:45:18.119><c> now</c><00:45:18.420><c> a</c><00:45:18.690><c> golem</c><00:45:19.410><c> is</c><00:45:19.800><c> probably</c>

00:45:20.300 --> 00:45:20.310 align:start position:0%
alternate proofs now a golem is probably
 

00:45:20.310 --> 00:45:21.859 align:start position:0%
alternate proofs now a golem is probably
the<00:45:20.400><c> one</c><00:45:20.550><c> you're</c><00:45:20.670><c> most</c><00:45:20.850><c> familiar</c><00:45:21.150><c> with</c><00:45:21.630><c> you</c>

00:45:21.859 --> 00:45:21.869 align:start position:0%
the one you're most familiar with you
 

00:45:21.869 --> 00:45:23.450 align:start position:0%
the one you're most familiar with you
can<00:45:21.900><c> sell</c><00:45:22.170><c> your</c><00:45:22.290><c> GPU</c><00:45:22.590><c> cycles</c><00:45:23.070><c> now</c><00:45:23.220><c> for</c>

00:45:23.450 --> 00:45:23.460 align:start position:0%
can sell your GPU cycles now for
 

00:45:23.460 --> 00:45:25.700 align:start position:0%
can sell your GPU cycles now for
rendering<00:45:23.850><c> so</c><00:45:24.480><c> that</c><00:45:24.630><c> gives</c><00:45:24.840><c> mining</c><00:45:25.260><c> farms</c><00:45:25.590><c> a</c>

00:45:25.700 --> 00:45:25.710 align:start position:0%
rendering so that gives mining farms a
 

00:45:25.710 --> 00:45:27.380 align:start position:0%
rendering so that gives mining farms a
little<00:45:25.920><c> bit</c><00:45:26.040><c> more</c><00:45:26.250><c> of</c><00:45:26.400><c> a</c><00:45:26.490><c> profitability</c><00:45:27.000><c> and</c>

00:45:27.380 --> 00:45:27.390 align:start position:0%
little bit more of a profitability and
 

00:45:27.390 --> 00:45:29.740 align:start position:0%
little bit more of a profitability and
that<00:45:27.900><c> contributes</c><00:45:28.470><c> to</c><00:45:28.619><c> a</c><00:45:28.650><c> pretty</c><00:45:28.890><c> cool</c><00:45:29.070><c> world</c>

00:45:29.740 --> 00:45:29.750 align:start position:0%
that contributes to a pretty cool world
 

00:45:29.750 --> 00:45:32.180 align:start position:0%
that contributes to a pretty cool world
proof<00:45:30.750><c> of</c><00:45:30.900><c> useful</c><00:45:31.290><c> work</c><00:45:31.320><c> is</c><00:45:31.710><c> something</c><00:45:32.010><c> that's</c>

00:45:32.180 --> 00:45:32.190 align:start position:0%
proof of useful work is something that's
 

00:45:32.190 --> 00:45:34.250 align:start position:0%
proof of useful work is something that's
being<00:45:32.369><c> explored</c><00:45:32.730><c> as</c><00:45:33.060><c> well</c><00:45:33.210><c> trying</c><00:45:33.840><c> to</c><00:45:33.960><c> find</c><00:45:34.170><c> a</c>

00:45:34.250 --> 00:45:34.260 align:start position:0%
being explored as well trying to find a
 

00:45:34.260 --> 00:45:36.099 align:start position:0%
being explored as well trying to find a
use<00:45:34.500><c> case</c><00:45:34.710><c> for</c><00:45:34.980><c> all</c><00:45:35.070><c> these</c><00:45:35.280><c> proof-of-work</c>

00:45:36.099 --> 00:45:36.109 align:start position:0%
use case for all these proof-of-work
 

00:45:36.109 --> 00:45:40.099 align:start position:0%
use case for all these proof-of-work
machines<00:45:37.109><c> out</c><00:45:37.440><c> there</c><00:45:38.780><c> there</c><00:45:39.780><c> are</c><00:45:39.930><c> some</c>

00:45:40.099 --> 00:45:40.109 align:start position:0%
machines out there there are some
 

00:45:40.109 --> 00:45:41.870 align:start position:0%
machines out there there are some
interesting<00:45:40.410><c> things</c><00:45:40.650><c> with</c><00:45:41.100><c> computational</c>

00:45:41.870 --> 00:45:41.880 align:start position:0%
interesting things with computational
 

00:45:41.880 --> 00:45:44.599 align:start position:0%
interesting things with computational
fluid<00:45:42.410><c> dynamic</c><00:45:43.410><c> annex</c><00:45:43.770><c> there's</c><00:45:44.400><c> some</c>

00:45:44.599 --> 00:45:44.609 align:start position:0%
fluid dynamic annex there's some
 

00:45:44.609 --> 00:45:46.250 align:start position:0%
fluid dynamic annex there's some
interesting<00:45:45.060><c> stuff</c><00:45:45.330><c> in</c><00:45:45.450><c> the</c><00:45:45.540><c> medical</c><00:45:45.990><c> space</c>

00:45:46.250 --> 00:45:46.260 align:start position:0%
interesting stuff in the medical space
 

00:45:46.260 --> 00:45:48.980 align:start position:0%
interesting stuff in the medical space
nothing<00:45:47.040><c> is</c><00:45:47.340><c> being</c><00:45:47.520><c> fleshed</c><00:45:47.940><c> out</c><00:45:48.210><c> to</c><00:45:48.690><c> date</c>

00:45:48.980 --> 00:45:48.990 align:start position:0%
nothing is being fleshed out to date
 

00:45:48.990 --> 00:45:51.109 align:start position:0%
nothing is being fleshed out to date
simply<00:45:49.859><c> because</c><00:45:50.160><c> people</c><00:45:50.460><c> haven't</c><00:45:50.790><c> solved</c><00:45:51.060><c> the</c>

00:45:51.109 --> 00:45:51.119 align:start position:0%
simply because people haven't solved the
 

00:45:51.119 --> 00:45:52.910 align:start position:0%
simply because people haven't solved the
liability<00:45:51.810><c> problem</c><00:45:52.170><c> that</c><00:45:52.350><c> comes</c><00:45:52.560><c> with</c><00:45:52.770><c> having</c>

00:45:52.910 --> 00:45:52.920 align:start position:0%
liability problem that comes with having
 

00:45:52.920 --> 00:45:56.660 align:start position:0%
liability problem that comes with having
a<00:45:53.070><c> very</c><00:45:53.250><c> decentralized</c><00:45:54.560><c> system</c><00:45:55.560><c> but</c><00:45:56.190><c> golems</c>

00:45:56.660 --> 00:45:56.670 align:start position:0%
a very decentralized system but golems
 

00:45:56.670 --> 00:45:58.840 align:start position:0%
a very decentralized system but golems
on<00:45:56.850><c> the</c><00:45:56.940><c> right</c><00:45:57.090><c> track</c><00:45:57.390><c> which</c><00:45:58.020><c> is</c><00:45:58.170><c> great</c><00:45:58.410><c> and</c>

00:45:58.840 --> 00:45:58.850 align:start position:0%
on the right track which is great and
 

00:45:58.850 --> 00:46:02.090 align:start position:0%
on the right track which is great and
that's<00:45:59.850><c> taken</c><00:46:00.840><c> what</c><00:46:01.140><c> just</c><00:46:01.530><c> a</c><00:46:01.619><c> year</c><00:46:01.920><c> of</c>

00:46:02.090 --> 00:46:02.100 align:start position:0%
that's taken what just a year of
 

00:46:02.100 --> 00:46:03.680 align:start position:0%
that's taken what just a year of
development<00:46:02.700><c> imagine</c><00:46:03.060><c> what</c><00:46:03.180><c> we're</c><00:46:03.330><c> gonna</c><00:46:03.450><c> see</c>

00:46:03.680 --> 00:46:03.690 align:start position:0%
development imagine what we're gonna see
 

00:46:03.690 --> 00:46:06.260 align:start position:0%
development imagine what we're gonna see
next<00:46:03.869><c> year</c><00:46:04.050><c> so</c><00:46:05.040><c> yeah</c><00:46:05.250><c> GPUs</c><00:46:05.790><c> are</c><00:46:05.970><c> pretty</c>

00:46:06.260 --> 00:46:06.270 align:start position:0%
next year so yeah GPUs are pretty
 

00:46:06.270 --> 00:46:08.450 align:start position:0%
next year so yeah GPUs are pretty
awesome<00:46:06.450><c> because</c><00:46:06.810><c> they're</c><00:46:07.050><c> repurposed</c><00:46:07.619><c> and</c>

00:46:08.450 --> 00:46:08.460 align:start position:0%
awesome because they're repurposed and
 

00:46:08.460 --> 00:46:12.080 align:start position:0%
awesome because they're repurposed and
on<00:46:09.180><c> that</c><00:46:09.390><c> note</c><00:46:09.570><c> FPGAs</c><00:46:10.380><c> are</c><00:46:10.650><c> as</c><00:46:10.859><c> well</c><00:46:11.070><c> but</c><00:46:11.940><c> they</c>

00:46:12.080 --> 00:46:12.090 align:start position:0%
on that note FPGAs are as well but they
 

00:46:12.090 --> 00:46:14.870 align:start position:0%
on that note FPGAs are as well but they
do<00:46:12.150><c> have</c><00:46:12.570><c> a</c><00:46:12.600><c> much</c><00:46:13.020><c> higher</c><00:46:13.230><c> skill</c><00:46:13.680><c> level</c><00:46:13.980><c> you</c><00:46:14.190><c> do</c>

00:46:14.870 --> 00:46:14.880 align:start position:0%
do have a much higher skill level you do
 

00:46:14.880 --> 00:46:17.060 align:start position:0%
do have a much higher skill level you do
need<00:46:15.090><c> to</c><00:46:15.210><c> go</c><00:46:15.750><c> and</c><00:46:15.960><c> rewrite</c><00:46:16.440><c> the</c><00:46:16.590><c> bit</c><00:46:16.710><c> streams</c>

00:46:17.060 --> 00:46:17.070 align:start position:0%
need to go and rewrite the bit streams
 

00:46:17.070 --> 00:46:19.700 align:start position:0%
need to go and rewrite the bit streams
you<00:46:17.700><c> need</c><00:46:17.850><c> to</c><00:46:18.000><c> reconfigure</c><00:46:18.480><c> them</c><00:46:18.810><c> tune</c><00:46:19.410><c> them</c>

00:46:19.700 --> 00:46:19.710 align:start position:0%
you need to reconfigure them tune them
 

00:46:19.710 --> 00:46:22.130 align:start position:0%
you need to reconfigure them tune them
and<00:46:20.040><c> the</c><00:46:20.369><c> amount</c><00:46:20.640><c> of</c><00:46:20.730><c> GPU</c><00:46:21.210><c> compute</c><00:46:21.660><c> architects</c>

00:46:22.130 --> 00:46:22.140 align:start position:0%
and the amount of GPU compute architects
 

00:46:22.140 --> 00:46:25.099 align:start position:0%
and the amount of GPU compute architects
out<00:46:22.320><c> there</c><00:46:23.210><c> significantly</c><00:46:24.210><c> Dwarfs</c><00:46:24.930><c> the</c>

00:46:25.099 --> 00:46:25.109 align:start position:0%
out there significantly Dwarfs the
 

00:46:25.109 --> 00:46:30.140 align:start position:0%
out there significantly Dwarfs the
amount<00:46:25.440><c> of</c><00:46:25.590><c> VHDL</c><00:46:26.369><c> and</c><00:46:26.609><c> Verilog</c><00:46:27.080><c> architects</c><00:46:29.150><c> hi</c>

00:46:30.140 --> 00:46:30.150 align:start position:0%
amount of VHDL and Verilog architects hi
 

00:46:30.150 --> 00:46:33.200 align:start position:0%
amount of VHDL and Verilog architects hi
great<00:46:30.450><c> talk</c><00:46:30.890><c> I'm</c><00:46:31.890><c> just</c><00:46:32.130><c> wondering</c><00:46:32.580><c> you</c><00:46:33.180><c> have</c>

00:46:33.200 --> 00:46:33.210 align:start position:0%
great talk I'm just wondering you have
 

00:46:33.210 --> 00:46:35.870 align:start position:0%
great talk I'm just wondering you have
tunable<00:46:34.080><c> parameters</c><00:46:34.410><c> these</c><00:46:35.220><c> are</c><00:46:35.460><c> integers</c>

00:46:35.870 --> 00:46:35.880 align:start position:0%
tunable parameters these are integers
 

00:46:35.880 --> 00:46:37.040 align:start position:0%
tunable parameters these are integers
yep

00:46:37.040 --> 00:46:37.050 align:start position:0%
yep
 

00:46:37.050 --> 00:46:40.430 align:start position:0%
yep
how<00:46:37.800><c> about</c><00:46:37.890><c> tuning</c><00:46:38.540><c> which</c><00:46:39.540><c> app</c><00:46:39.750><c> codes</c><00:46:40.020><c> we</c><00:46:40.230><c> use</c>

00:46:40.430 --> 00:46:40.440 align:start position:0%
how about tuning which app codes we use
 

00:46:40.440 --> 00:46:42.440 align:start position:0%
how about tuning which app codes we use
there<00:46:41.430><c> I</c><00:46:41.460><c> think</c><00:46:41.580><c> there</c><00:46:41.790><c> was</c><00:46:41.910><c> like</c><00:46:41.940><c> a</c><00:46:42.060><c> list</c><00:46:42.300><c> of</c>

00:46:42.440 --> 00:46:42.450 align:start position:0%
there I think there was like a list of
 

00:46:42.450 --> 00:46:44.450 align:start position:0%
there I think there was like a list of
11<00:46:42.810><c> app</c><00:46:42.960><c> codes</c><00:46:43.230><c> that</c><00:46:43.380><c> we</c><00:46:43.500><c> choose</c><00:46:43.680><c> randomly</c><00:46:44.100><c> and</c>

00:46:44.450 --> 00:46:44.460 align:start position:0%
11 app codes that we choose randomly and
 

00:46:44.460 --> 00:46:47.840 align:start position:0%
11 app codes that we choose randomly and
maybe<00:46:45.330><c> tuning</c><00:46:45.780><c> also</c><00:46:46.320><c> the</c><00:46:46.890><c> hashing</c><00:46:47.280><c> algorithm</c>

00:46:47.840 --> 00:46:47.850 align:start position:0%
maybe tuning also the hashing algorithm
 

00:46:47.850 --> 00:46:50.210 align:start position:0%
maybe tuning also the hashing algorithm
maybe<00:46:48.660><c> something</c><00:46:49.050><c> that</c><00:46:49.080><c> you</c><00:46:49.470><c> know</c><00:46:49.890><c> you</c><00:46:49.950><c> say</c>

00:46:50.210 --> 00:46:50.220 align:start position:0%
maybe something that you know you say
 

00:46:50.220 --> 00:46:52.130 align:start position:0%
maybe something that you know you say
that<00:46:50.250><c> some</c><00:46:50.880><c> version</c><00:46:51.180><c> of</c><00:46:51.240><c> ketchup</c><00:46:51.660><c> is</c><00:46:51.840><c> is</c>

00:46:52.130 --> 00:46:52.140 align:start position:0%
that some version of ketchup is is
 

00:46:52.140 --> 00:46:53.930 align:start position:0%
that some version of ketchup is is
better<00:46:52.410><c> for</c><00:46:52.890><c> some</c><00:46:53.070><c> GPUs</c><00:46:53.460><c> how</c><00:46:53.640><c> about</c><00:46:53.760><c> some</c>

00:46:53.930 --> 00:46:53.940 align:start position:0%
better for some GPUs how about some
 

00:46:53.940 --> 00:46:56.120 align:start position:0%
better for some GPUs how about some
different<00:46:54.360><c> algorithm</c><00:46:54.810><c> altogether</c><00:46:55.230><c> or</c><00:46:55.860><c> maybe</c>

00:46:56.120 --> 00:46:56.130 align:start position:0%
different algorithm altogether or maybe
 

00:46:56.130 --> 00:46:57.890 align:start position:0%
different algorithm altogether or maybe
two<00:46:56.250><c> different</c><00:46:56.370><c> algorithms</c><00:46:57.000><c> one</c><00:46:57.420><c> different</c>

00:46:57.890 --> 00:46:57.900 align:start position:0%
two different algorithms one different
 

00:46:57.900 --> 00:46:59.170 align:start position:0%
two different algorithms one different
one<00:46:57.990><c> at</c><00:46:58.110><c> the</c><00:46:58.170><c> beginning</c><00:46:58.260><c> at</c><00:46:58.590><c> the</c><00:46:58.680><c> end</c><00:46:58.800><c> just</c>

00:46:59.170 --> 00:46:59.180 align:start position:0%
one at the beginning at the end just
 

00:46:59.180 --> 00:47:01.460 align:start position:0%
one at the beginning at the end just
someone<00:47:00.180><c> that's</c><00:47:00.330><c> naive</c><00:47:00.720><c> that</c><00:47:01.020><c> says</c><00:47:01.230><c> why</c><00:47:01.410><c> this</c>

00:47:01.460 --> 00:47:01.470 align:start position:0%
someone that's naive that says why this
 

00:47:01.470 --> 00:47:02.450 align:start position:0%
someone that's naive that says why this
why<00:47:01.920><c> that</c>

00:47:02.450 --> 00:47:02.460 align:start position:0%
why that
 

00:47:02.460 --> 00:47:05.000 align:start position:0%
why that
poking<00:47:03.360><c> holes</c><00:47:03.480><c> you</c><00:47:03.990><c> know</c><00:47:04.080><c> at</c><00:47:04.260><c> every</c><00:47:04.620><c> part</c><00:47:04.950><c> of</c>

00:47:05.000 --> 00:47:05.010 align:start position:0%
poking holes you know at every part of
 

00:47:05.010 --> 00:47:06.530 align:start position:0%
poking holes you know at every part of
your<00:47:05.130><c> diagram</c><00:47:05.640><c> can</c><00:47:06.120><c> we</c><00:47:06.240><c> do</c><00:47:06.360><c> something</c>

00:47:06.530 --> 00:47:06.540 align:start position:0%
your diagram can we do something
 

00:47:06.540 --> 00:47:09.350 align:start position:0%
your diagram can we do something
different<00:47:06.720><c> here</c><00:47:07.080><c> we</c><00:47:07.440><c> can</c><00:47:07.950><c> the</c><00:47:08.610><c> biggest</c><00:47:09.000><c> thing</c>

00:47:09.350 --> 00:47:09.360 align:start position:0%
different here we can the biggest thing
 

00:47:09.360 --> 00:47:11.450 align:start position:0%
different here we can the biggest thing
you<00:47:09.540><c> don't</c><00:47:09.750><c> want</c><00:47:10.020><c> to</c><00:47:10.080><c> do</c><00:47:10.230><c> though</c><00:47:10.410><c> is</c><00:47:10.620><c> one</c><00:47:11.190><c> we</c>

00:47:11.450 --> 00:47:11.460 align:start position:0%
you don't want to do though is one we
 

00:47:11.460 --> 00:47:13.370 align:start position:0%
you don't want to do though is one we
wanted<00:47:11.730><c> to</c><00:47:11.820><c> make</c><00:47:11.970><c> Prague</c><00:47:12.240><c> towers</c><00:47:12.630><c> simple</c><00:47:13.140><c> at</c>

00:47:13.370 --> 00:47:13.380 align:start position:0%
wanted to make Prague towers simple at
 

00:47:13.380 --> 00:47:16.430 align:start position:0%
wanted to make Prague towers simple at
today<00:47:13.950><c> to</c><00:47:14.610><c> slot</c><00:47:14.940><c> into</c><00:47:15.270><c> the</c><00:47:15.600><c> existing</c><00:47:16.110><c> at</c><00:47:16.230><c> hash</c>

00:47:16.430 --> 00:47:16.440 align:start position:0%
today to slot into the existing at hash
 

00:47:16.440 --> 00:47:18.710 align:start position:0%
today to slot into the existing at hash
implementation<00:47:17.250><c> so</c><00:47:18.060><c> we</c><00:47:18.180><c> didn't</c><00:47:18.390><c> want</c><00:47:18.510><c> to</c><00:47:18.600><c> get</c>

00:47:18.710 --> 00:47:18.720 align:start position:0%
implementation so we didn't want to get
 

00:47:18.720 --> 00:47:20.600 align:start position:0%
implementation so we didn't want to get
dick<00:47:19.140><c> around</c><00:47:19.290><c> too</c><00:47:19.680><c> much</c><00:47:19.890><c> because</c><00:47:20.160><c> that</c><00:47:20.460><c> would</c>

00:47:20.600 --> 00:47:20.610 align:start position:0%
dick around too much because that would
 

00:47:20.610 --> 00:47:22.550 align:start position:0%
dick around too much because that would
have<00:47:20.670><c> required</c><00:47:20.820><c> way</c><00:47:21.210><c> more</c><00:47:21.480><c> test</c><00:47:21.750><c> analysis</c><00:47:22.320><c> it</c>

00:47:22.550 --> 00:47:22.560 align:start position:0%
have required way more test analysis it
 

00:47:22.560 --> 00:47:24.950 align:start position:0%
have required way more test analysis it
dicks<00:47:23.190><c> around</c><00:47:23.550><c> with</c><00:47:23.700><c> the</c><00:47:23.820><c> CPU</c><00:47:24.150><c> verification</c>

00:47:24.950 --> 00:47:24.960 align:start position:0%
dicks around with the CPU verification
 

00:47:24.960 --> 00:47:27.290 align:start position:0%
dicks around with the CPU verification
as<00:47:25.110><c> well</c><00:47:25.260><c> which</c><00:47:25.950><c> we</c><00:47:26.490><c> know</c><00:47:26.640><c> is</c><00:47:26.790><c> very</c><00:47:26.850><c> very</c>

00:47:27.290 --> 00:47:27.300 align:start position:0%
as well which we know is very very
 

00:47:27.300 --> 00:47:29.900 align:start position:0%
as well which we know is very very
important<00:47:27.810><c> to</c><00:47:27.870><c> the</c><00:47:28.110><c> etherium</c><00:47:28.530><c> eco</c><00:47:28.800><c> eco</c><00:47:29.370><c> system</c>

00:47:29.900 --> 00:47:29.910 align:start position:0%
important to the etherium eco eco system
 

00:47:29.910 --> 00:47:32.780 align:start position:0%
important to the etherium eco eco system
and<00:47:30.860><c> quite</c><00:47:31.860><c> frankly</c><00:47:32.190><c> as</c><00:47:32.340><c> long</c><00:47:32.460><c> as</c><00:47:32.580><c> you</c><00:47:32.670><c> have</c>

00:47:32.780 --> 00:47:32.790 align:start position:0%
and quite frankly as long as you have
 

00:47:32.790 --> 00:47:34.670 align:start position:0%
and quite frankly as long as you have
enough<00:47:33.030><c> random</c><00:47:33.300><c> math</c><00:47:33.690><c> in</c><00:47:33.900><c> there</c><00:47:34.080><c> it's</c><00:47:34.350><c> going</c>

00:47:34.670 --> 00:47:34.680 align:start position:0%
enough random math in there it's going
 

00:47:34.680 --> 00:47:37.490 align:start position:0%
enough random math in there it's going
to<00:47:34.850><c> it's</c><00:47:35.850><c> going</c><00:47:36.000><c> to</c><00:47:36.450><c> make</c><00:47:36.690><c> it</c><00:47:36.870><c> impossible</c><00:47:37.170><c> to</c>

00:47:37.490 --> 00:47:37.500 align:start position:0%
to it's going to make it impossible to
 

00:47:37.500 --> 00:47:40.730 align:start position:0%
to it's going to make it impossible to
offload<00:47:38.030><c> we</c><00:47:39.030><c> could</c><00:47:39.270><c> replace</c><00:47:39.600><c> ket</c><00:47:40.020><c> Jack</c><00:47:40.290><c> with</c>

00:47:40.730 --> 00:47:40.740 align:start position:0%
offload we could replace ket Jack with
 

00:47:40.740 --> 00:47:42.920 align:start position:0%
offload we could replace ket Jack with
another<00:47:40.770><c> hash</c><00:47:41.400><c> function</c><00:47:41.880><c> I</c><00:47:42.090><c> haven't</c><00:47:42.720><c> really</c>

00:47:42.920 --> 00:47:42.930 align:start position:0%
another hash function I haven't really
 

00:47:42.930 --> 00:47:44.840 align:start position:0%
another hash function I haven't really
thought<00:47:42.960><c> too</c><00:47:43.560><c> much</c><00:47:43.590><c> about</c><00:47:44.010><c> it</c><00:47:44.220><c> we</c><00:47:44.430><c> also</c><00:47:44.580><c> had</c><00:47:44.820><c> a</c>

00:47:44.840 --> 00:47:44.850 align:start position:0%
thought too much about it we also had a
 

00:47:44.850 --> 00:47:46.820 align:start position:0%
thought too much about it we also had a
really<00:47:45.210><c> cool</c><00:47:45.330><c> idea</c><00:47:45.390><c> of</c><00:47:45.780><c> merge</c><00:47:46.080><c> mining</c><00:47:46.500><c> as</c><00:47:46.650><c> well</c>

00:47:46.820 --> 00:47:46.830 align:start position:0%
really cool idea of merge mining as well
 

00:47:46.830 --> 00:47:49.250 align:start position:0%
really cool idea of merge mining as well
which<00:47:47.760><c> would</c><00:47:47.940><c> be</c><00:47:48.060><c> a</c><00:47:48.090><c> great</c><00:47:48.270><c> way</c><00:47:48.570><c> where</c><00:47:48.900><c> you</c>

00:47:49.250 --> 00:47:49.260 align:start position:0%
which would be a great way where you
 

00:47:49.260 --> 00:47:50.870 align:start position:0%
which would be a great way where you
know<00:47:49.290><c> other</c><00:47:49.650><c> proof-of-work</c><00:47:50.130><c> algorithms</c>

00:47:50.870 --> 00:47:50.880 align:start position:0%
know other proof-of-work algorithms
 

00:47:50.880 --> 00:47:53.330 align:start position:0%
know other proof-of-work algorithms
could<00:47:51.150><c> use</c><00:47:51.330><c> probe</c><00:47:51.600><c> pal</c><00:47:51.810><c> in</c><00:47:52.110><c> tandem</c><00:47:52.860><c> to</c><00:47:53.010><c> compute</c>

00:47:53.330 --> 00:47:53.340 align:start position:0%
could use probe pal in tandem to compute
 

00:47:53.340 --> 00:47:54.860 align:start position:0%
could use probe pal in tandem to compute
their<00:47:53.460><c> final</c><00:47:53.820><c> cycles</c><00:47:54.240><c> to</c><00:47:54.420><c> get</c><00:47:54.510><c> a</c><00:47:54.570><c> bit</c><00:47:54.750><c> more</c>

00:47:54.860 --> 00:47:54.870 align:start position:0%
their final cycles to get a bit more
 

00:47:54.870 --> 00:47:56.870 align:start position:0%
their final cycles to get a bit more
ASIC<00:47:55.350><c> resistance</c><00:47:55.890><c> that</c><00:47:56.370><c> would</c><00:47:56.520><c> actually</c>

00:47:56.870 --> 00:47:56.880 align:start position:0%
ASIC resistance that would actually
 

00:47:56.880 --> 00:47:59.300 align:start position:0%
ASIC resistance that would actually
defeat<00:47:57.420><c> the</c><00:47:57.630><c> nice</c><00:47:57.870><c> hash</c><00:47:58.140><c> problem</c><00:47:58.590><c> that</c><00:47:59.100><c> we</c><00:47:59.190><c> all</c>

00:47:59.300 --> 00:47:59.310 align:start position:0%
defeat the nice hash problem that we all
 

00:47:59.310 --> 00:48:02.150 align:start position:0%
defeat the nice hash problem that we all
have<00:47:59.490><c> in</c><00:47:59.640><c> mining</c><00:48:00.590><c> but</c><00:48:01.590><c> that's</c><00:48:01.740><c> a</c><00:48:01.920><c> lot</c><00:48:02.100><c> of</c>

00:48:02.150 --> 00:48:02.160 align:start position:0%
have in mining but that's a lot of
 

00:48:02.160 --> 00:48:06.530 align:start position:0%
have in mining but that's a lot of
development<00:48:02.790><c> work</c><00:48:02.820><c> as</c><00:48:03.120><c> well</c><00:48:03.300><c> and</c><00:48:04.760><c> these</c><00:48:05.760><c> just</c>

00:48:06.530 --> 00:48:06.540 align:start position:0%
development work as well and these just
 

00:48:06.540 --> 00:48:08.570 align:start position:0%
development work as well and these just
to<00:48:06.660><c> be</c><00:48:06.750><c> clear</c><00:48:06.960><c> these</c><00:48:07.140><c> tunable</c><00:48:07.740><c> parameters</c><00:48:07.890><c> are</c>

00:48:08.570 --> 00:48:08.580 align:start position:0%
to be clear these tunable parameters are
 

00:48:08.580 --> 00:48:12.020 align:start position:0%
to be clear these tunable parameters are
just<00:48:09.000><c> for</c><00:48:09.390><c> future</c><00:48:10.170><c> revisions</c><00:48:10.770><c> of</c><00:48:10.890><c> GPUs</c><00:48:11.370><c> so</c>

00:48:12.020 --> 00:48:12.030 align:start position:0%
just for future revisions of GPUs so
 

00:48:12.030 --> 00:48:14.810 align:start position:0%
just for future revisions of GPUs so
today<00:48:12.360><c> all</c><00:48:12.690><c> of</c><00:48:12.990><c> these</c><00:48:13.170><c> are</c><00:48:13.590><c> completely</c><00:48:14.280><c> tuned</c>

00:48:14.810 --> 00:48:14.820 align:start position:0%
today all of these are completely tuned
 

00:48:14.820 --> 00:48:17.690 align:start position:0%
today all of these are completely tuned
for<00:48:15.180><c> NVIDIA</c><00:48:15.930><c> z--</c><00:48:16.140><c> latest</c><00:48:16.470><c> line</c><00:48:16.650><c> of</c><00:48:16.800><c> GPUs</c><00:48:17.190><c> which</c>

00:48:17.690 --> 00:48:17.700 align:start position:0%
for NVIDIA z-- latest line of GPUs which
 

00:48:17.700 --> 00:48:22.250 align:start position:0%
for NVIDIA z-- latest line of GPUs which
is<00:48:17.880><c> the</c><00:48:18.000><c> RT</c><00:48:18.330><c> X</c><00:48:18.480><c> to</c><00:48:19.110><c> 2000</c><00:48:20.210><c> a.m.</c><00:48:21.210><c> DS</c><00:48:21.420><c> latest</c><00:48:21.780><c> line</c>

00:48:22.250 --> 00:48:22.260 align:start position:0%
is the RT X to 2000 a.m. DS latest line
 

00:48:22.260 --> 00:48:24.980 align:start position:0%
is the RT X to 2000 a.m. DS latest line
which<00:48:22.530><c> is</c><00:48:22.680><c> their</c><00:48:22.830><c> Vega</c><00:48:23.240><c> version</c><00:48:24.240><c> 3</c><00:48:24.510><c> I</c><00:48:24.720><c> guess</c>

00:48:24.980 --> 00:48:24.990 align:start position:0%
which is their Vega version 3 I guess
 

00:48:24.990 --> 00:48:28.850 align:start position:0%
which is their Vega version 3 I guess
they're<00:48:25.170><c> on</c><00:48:25.200><c> now</c><00:48:25.470><c> and</c><00:48:26.150><c> also</c><00:48:27.290><c> we</c><00:48:28.290><c> did</c><00:48:28.500><c> have</c><00:48:28.740><c> an</c>

00:48:28.850 --> 00:48:28.860 align:start position:0%
they're on now and also we did have an
 

00:48:28.860 --> 00:48:31.310 align:start position:0%
they're on now and also we did have an
Intel<00:48:29.220><c> GPU</c><00:48:29.670><c> sample</c><00:48:30.210><c> but</c><00:48:30.420><c> I</c><00:48:30.450><c> don't</c><00:48:30.750><c> think</c><00:48:31.080><c> that</c>

00:48:31.310 --> 00:48:31.320 align:start position:0%
Intel GPU sample but I don't think that
 

00:48:31.320 --> 00:48:34.300 align:start position:0%
Intel GPU sample but I don't think that
those<00:48:31.680><c> will</c><00:48:31.950><c> be</c><00:48:32.100><c> massively</c><00:48:33.060><c> used</c><00:48:33.420><c> by</c><00:48:33.630><c> miners</c>

00:48:34.300 --> 00:48:34.310 align:start position:0%
those will be massively used by miners
 

00:48:34.310 --> 00:48:38.330 align:start position:0%
those will be massively used by miners
unless<00:48:35.310><c> you're</c><00:48:35.460><c> very</c><00:48:35.490><c> very</c><00:48:35.790><c> rich</c><00:48:36.650><c> so</c><00:48:37.650><c> a</c><00:48:37.680><c> great</c>

00:48:38.330 --> 00:48:38.340 align:start position:0%
unless you're very very rich so a great
 

00:48:38.340 --> 00:48:42.200 align:start position:0%
unless you're very very rich so a great
talk<00:48:38.610><c> thank</c><00:48:39.120><c> you</c><00:48:39.920><c> even</c><00:48:40.920><c> though</c><00:48:40.950><c> I</c><00:48:41.100><c> think</c><00:48:42.030><c> I</c>

00:48:42.200 --> 00:48:42.210 align:start position:0%
talk thank you even though I think I
 

00:48:42.210 --> 00:48:46.490 align:start position:0%
talk thank you even though I think I
probably<00:48:42.540><c> only</c><00:48:43.140><c> get</c><00:48:43.470><c> 10%</c><00:48:43.800><c> of</c><00:48:44.070><c> it</c><00:48:44.450><c> I</c><00:48:45.500><c> wonder</c>

00:48:46.490 --> 00:48:46.500 align:start position:0%
probably only get 10% of it I wonder
 

00:48:46.500 --> 00:48:50.120 align:start position:0%
probably only get 10% of it I wonder
from<00:48:47.720><c> integration</c><00:48:48.740><c> standpoint</c>

00:48:50.120 --> 00:48:50.130 align:start position:0%
from integration standpoint
 

00:48:50.130 --> 00:48:52.160 align:start position:0%
from integration standpoint
like<00:48:50.430><c> how</c><00:48:50.640><c> feasible</c><00:48:51.269><c> of</c><00:48:51.509><c> our</c><00:48:51.720><c> long</c><00:48:51.960><c> hour</c>

00:48:52.160 --> 00:48:52.170 align:start position:0%
like how feasible of our long hour
 

00:48:52.170 --> 00:48:55.609 align:start position:0%
like how feasible of our long hour
because<00:48:52.440><c> I</c><00:48:52.589><c> remember</c><00:48:53.250><c> I'm</c><00:48:53.519><c> seeing</c><00:48:54.059><c> that</c><00:48:54.990><c> the</c>

00:48:55.609 --> 00:48:55.619 align:start position:0%
because I remember I'm seeing that the
 

00:48:55.619 --> 00:48:59.599 align:start position:0%
because I remember I'm seeing that the
time<00:48:56.190><c> to</c><00:48:56.549><c> verify</c><00:48:57.089><c> the</c><00:48:57.150><c> proof</c><00:48:57.480><c> work</c><00:48:58.609><c> increased</c>

00:48:59.599 --> 00:48:59.609 align:start position:0%
time to verify the proof work increased
 

00:48:59.609 --> 00:49:02.120 align:start position:0%
time to verify the proof work increased
by<00:49:00.390><c> a</c><00:49:00.420><c> margin</c><00:49:00.779><c> that</c><00:49:01.230><c> might</c><00:49:01.769><c> make</c><00:49:02.099><c> it</c>

00:49:02.120 --> 00:49:02.130 align:start position:0%
by a margin that might make it
 

00:49:02.130 --> 00:49:06.039 align:start position:0%
by a margin that might make it
infeasible<00:49:03.029><c> to</c><00:49:03.089><c> actually</c><00:49:03.960><c> use</c><00:49:04.170><c> it</c><00:49:04.349><c> yeah</c><00:49:04.890><c> so</c>

00:49:06.039 --> 00:49:06.049 align:start position:0%
infeasible to actually use it yeah so
 

00:49:06.049 --> 00:49:08.779 align:start position:0%
infeasible to actually use it yeah so
that<00:49:07.049><c> let</c><00:49:07.559><c> let's</c><00:49:07.890><c> make</c><00:49:08.099><c> that</c><00:49:08.250><c> very</c><00:49:08.460><c> public</c>

00:49:08.779 --> 00:49:08.789 align:start position:0%
that let let's make that very public
 

00:49:08.789 --> 00:49:11.390 align:start position:0%
that let let's make that very public
that<00:49:09.539><c> is</c><00:49:09.809><c> simply</c><00:49:10.200><c> because</c><00:49:10.380><c> of</c><00:49:10.559><c> my</c><00:49:10.799><c> terrible</c><00:49:11.130><c> go</c>

00:49:11.390 --> 00:49:11.400 align:start position:0%
that is simply because of my terrible go
 

00:49:11.400 --> 00:49:16.009 align:start position:0%
that is simply because of my terrible go
skills<00:49:12.680><c> we</c><00:49:13.680><c> are</c><00:49:13.890><c> we</c><00:49:14.250><c> we</c><00:49:15.180><c> are</c><00:49:15.329><c> really</c><00:49:15.599><c> great</c><00:49:15.809><c> on</c>

00:49:16.009 --> 00:49:16.019 align:start position:0%
skills we are we we are really great on
 

00:49:16.019 --> 00:49:18.620 align:start position:0%
skills we are we we are really great on
the<00:49:16.200><c> GPU</c><00:49:16.500><c> side</c><00:49:16.799><c> not</c><00:49:17.160><c> so</c><00:49:17.190><c> great</c><00:49:17.579><c> on</c><00:49:17.819><c> you</c><00:49:18.450><c> know</c>

00:49:18.620 --> 00:49:18.630 align:start position:0%
the GPU side not so great on you know
 

00:49:18.630 --> 00:49:21.620 align:start position:0%
the GPU side not so great on you know
standard<00:49:19.319><c> client</c><00:49:19.769><c> code</c><00:49:19.980><c> we</c><00:49:20.789><c> fix</c><00:49:21.059><c> that</c><00:49:21.269><c> with</c><00:49:21.509><c> an</c>

00:49:21.620 --> 00:49:21.630 align:start position:0%
standard client code we fix that with an
 

00:49:21.630 --> 00:49:23.509 align:start position:0%
standard client code we fix that with an
optimized<00:49:22.049><c> implementation</c><00:49:22.289><c> had</c><00:49:23.190><c> some</c><00:49:23.339><c> great</c>

00:49:23.509 --> 00:49:23.519 align:start position:0%
optimized implementation had some great
 

00:49:23.519 --> 00:49:25.759 align:start position:0%
optimized implementation had some great
help<00:49:23.730><c> from</c><00:49:23.880><c> Paraty</c><00:49:24.569><c> devs</c><00:49:24.839><c> from</c><00:49:25.259><c> earth</c><00:49:25.500><c> minor</c>

00:49:25.759 --> 00:49:25.769 align:start position:0%
help from Paraty devs from earth minor
 

00:49:25.769 --> 00:49:27.920 align:start position:0%
help from Paraty devs from earth minor
developers<00:49:26.400><c> for</c><00:49:27.240><c> the</c><00:49:27.329><c> hope</c><00:49:27.450><c> from</c><00:49:27.660><c> the</c><00:49:27.809><c> whole</c>

00:49:27.920 --> 00:49:27.930 align:start position:0%
developers for the hope from the whole
 

00:49:27.930 --> 00:49:30.890 align:start position:0%
developers for the hope from the whole
ethereum<00:49:28.380><c> community</c><00:49:28.829><c> really</c><00:49:29.509><c> there</c><00:49:30.509><c> is</c><00:49:30.690><c> going</c>

00:49:30.890 --> 00:49:30.900 align:start position:0%
ethereum community really there is going
 

00:49:30.900 --> 00:49:32.870 align:start position:0%
ethereum community really there is going
to<00:49:31.109><c> be</c><00:49:31.230><c> a</c><00:49:31.470><c> -</c><00:49:31.829><c> it's</c><00:49:32.069><c> going</c><00:49:32.190><c> to</c><00:49:32.220><c> take</c><00:49:32.460><c> two</c><00:49:32.640><c> times</c>

00:49:32.870 --> 00:49:32.880 align:start position:0%
to be a - it's going to take two times
 

00:49:32.880 --> 00:49:35.539 align:start position:0%
to be a - it's going to take two times
as<00:49:33.329><c> longer</c><00:49:33.960><c> to</c><00:49:34.079><c> do</c><00:49:34.170><c> a</c><00:49:34.200><c> verification</c><00:49:34.549><c> simply</c>

00:49:35.539 --> 00:49:35.549 align:start position:0%
as longer to do a verification simply
 

00:49:35.549 --> 00:49:37.400 align:start position:0%
as longer to do a verification simply
because<00:49:35.819><c> two</c><00:49:36.000><c> times</c><00:49:36.240><c> the</c><00:49:36.450><c> data</c><00:49:36.630><c> is</c><00:49:36.869><c> consumed</c>

00:49:37.400 --> 00:49:37.410 align:start position:0%
because two times the data is consumed
 

00:49:37.410 --> 00:49:40.430 align:start position:0%
because two times the data is consumed
that's<00:49:37.589><c> the</c><00:49:37.769><c> 128</c><00:49:38.369><c> bytes</c><00:49:38.609><c> increase</c><00:49:39.569><c> to</c><00:49:39.750><c> 256</c>

00:49:40.430 --> 00:49:40.440 align:start position:0%
that's the 128 bytes increase to 256
 

00:49:40.440 --> 00:49:42.829 align:start position:0%
that's the 128 bytes increase to 256
bytes<00:49:40.700><c> but</c><00:49:41.700><c> as</c><00:49:41.970><c> long</c><00:49:42.150><c> as</c><00:49:42.180><c> everyone's</c>

00:49:42.829 --> 00:49:42.839 align:start position:0%
bytes but as long as everyone's
 

00:49:42.839 --> 00:49:44.599 align:start position:0%
bytes but as long as everyone's
verifying<00:49:43.349><c> proof</c><00:49:43.619><c> of</c><00:49:43.769><c> work</c><00:49:43.950><c> the</c><00:49:44.130><c> same</c><00:49:44.339><c> it</c>

00:49:44.599 --> 00:49:44.609 align:start position:0%
verifying proof of work the same it
 

00:49:44.609 --> 00:49:47.809 align:start position:0%
verifying proof of work the same it
evens<00:49:45.509><c> out</c><00:49:45.660><c> and</c><00:49:45.900><c> it</c><00:49:45.990><c> levels</c><00:49:46.170><c> out</c><00:49:46.440><c> and</c><00:49:46.769><c> a</c><00:49:47.069><c> 2x</c><00:49:47.309><c> a</c>

00:49:47.809 --> 00:49:47.819 align:start position:0%
evens out and it levels out and a 2x a
 

00:49:47.819 --> 00:49:52.700 align:start position:0%
evens out and it levels out and a 2x a
2x<00:49:48.210><c> slowdown</c><00:49:48.750><c> is</c><00:49:49.019><c> much</c><00:49:49.859><c> more</c><00:49:50.779><c> palatable</c><00:49:51.779><c> than</c>

00:49:52.700 --> 00:49:52.710 align:start position:0%
2x slowdown is much more palatable than
 

00:49:52.710 --> 00:49:54.740 align:start position:0%
2x slowdown is much more palatable than
what<00:49:52.980><c> it</c><00:49:53.069><c> originally</c><00:49:53.190><c> was</c><00:49:53.579><c> which</c><00:49:54.029><c> was</c><00:49:54.210><c> a</c><00:49:54.240><c> 9x</c>

00:49:54.740 --> 00:49:54.750 align:start position:0%
what it originally was which was a 9x
 

00:49:54.750 --> 00:49:57.620 align:start position:0%
what it originally was which was a 9x
slowdown<00:49:55.430><c> so</c><00:49:56.430><c> that's</c><00:49:56.849><c> what</c><00:49:57.029><c> happens</c><00:49:57.359><c> when</c><00:49:57.509><c> you</c>

00:49:57.620 --> 00:49:57.630 align:start position:0%
slowdown so that's what happens when you
 

00:49:57.630 --> 00:50:02.150 align:start position:0%
slowdown so that's what happens when you
don't<00:49:57.750><c> optimize</c><00:49:58.230><c> your</c><00:49:58.380><c> code</c><00:49:58.559><c> guys</c><00:50:00.559><c> hello</c><00:50:01.559><c> me</c>

00:50:02.150 --> 00:50:02.160 align:start position:0%
don't optimize your code guys hello me
 

00:50:02.160 --> 00:50:06.529 align:start position:0%
don't optimize your code guys hello me
again<00:50:03.049><c> on</c><00:50:04.049><c> the</c><00:50:04.410><c> legal</c><00:50:04.740><c> front</c><00:50:05.329><c> someone</c><00:50:06.329><c> might</c>

00:50:06.529 --> 00:50:06.539 align:start position:0%
again on the legal front someone might
 

00:50:06.539 --> 00:50:08.359 align:start position:0%
again on the legal front someone might
say<00:50:06.779><c> some</c><00:50:07.200><c> things</c><00:50:07.380><c> are</c><00:50:07.500><c> copyrighted</c><00:50:08.009><c> some</c>

00:50:08.359 --> 00:50:08.369 align:start position:0%
say some things are copyrighted some
 

00:50:08.369 --> 00:50:11.599 align:start position:0%
say some things are copyrighted some
code<00:50:08.730><c> is</c><00:50:08.940><c> sort</c><00:50:09.210><c> of</c><00:50:09.589><c> you</c><00:50:10.589><c> know</c><00:50:10.619><c> intellectual</c>

00:50:11.599 --> 00:50:11.609 align:start position:0%
code is sort of you know intellectual
 

00:50:11.609 --> 00:50:13.339 align:start position:0%
code is sort of you know intellectual
property<00:50:12.059><c> and</c><00:50:12.210><c> your</c><00:50:12.539><c> other</c><00:50:12.930><c> people</c><00:50:13.259><c> are</c>

00:50:13.339 --> 00:50:13.349 align:start position:0%
property and your other people are
 

00:50:13.349 --> 00:50:15.650 align:start position:0%
property and your other people are
running<00:50:13.500><c> this</c><00:50:13.740><c> code</c><00:50:14.150><c> would</c><00:50:15.150><c> there</c><00:50:15.299><c> be</c><00:50:15.329><c> any</c>

00:50:15.650 --> 00:50:15.660 align:start position:0%
running this code would there be any
 

00:50:15.660 --> 00:50:17.180 align:start position:0%
running this code would there be any
barrier<00:50:16.079><c> does</c><00:50:16.589><c> someone</c><00:50:16.829><c> own</c><00:50:17.009><c> this</c>

00:50:17.180 --> 00:50:17.190 align:start position:0%
barrier does someone own this
 

00:50:17.190 --> 00:50:18.769 align:start position:0%
barrier does someone own this
intellectual<00:50:17.730><c> property</c><00:50:18.059><c> does</c><00:50:18.180><c> anyone</c><00:50:18.630><c> own</c>

00:50:18.769 --> 00:50:18.779 align:start position:0%
intellectual property does anyone own
 

00:50:18.779 --> 00:50:21.589 align:start position:0%
intellectual property does anyone own
the<00:50:18.990><c> copyrights</c><00:50:19.410><c> to</c><00:50:19.500><c> Prague</c><00:50:19.799><c> POW</c><00:50:20.180><c> would</c><00:50:21.180><c> would</c>

00:50:21.589 --> 00:50:21.599 align:start position:0%
the copyrights to Prague POW would would
 

00:50:21.599 --> 00:50:23.329 align:start position:0%
the copyrights to Prague POW would would
there<00:50:21.750><c> be</c><00:50:21.779><c> someone</c><00:50:22.109><c> that</c><00:50:22.140><c> could</c><00:50:22.470><c> later</c><00:50:22.920><c> on</c><00:50:23.099><c> say</c>

00:50:23.329 --> 00:50:23.339 align:start position:0%
there be someone that could later on say
 

00:50:23.339 --> 00:50:25.789 align:start position:0%
there be someone that could later on say
okay<00:50:23.759><c> you're</c><00:50:24.000><c> using</c><00:50:24.210><c> my</c><00:50:24.450><c> code</c><00:50:25.170><c> you're</c><00:50:25.529><c> running</c>

00:50:25.789 --> 00:50:25.799 align:start position:0%
okay you're using my code you're running
 

00:50:25.799 --> 00:50:28.339 align:start position:0%
okay you're using my code you're running
it<00:50:25.950><c> now</c><00:50:26.190><c> you</c><00:50:26.490><c> know</c><00:50:26.519><c> I</c><00:50:26.819><c> mean</c><00:50:27.150><c> it's</c><00:50:27.480><c> open</c><00:50:28.049><c> source</c>

00:50:28.339 --> 00:50:28.349 align:start position:0%
it now you know I mean it's open source
 

00:50:28.349 --> 00:50:30.410 align:start position:0%
it now you know I mean it's open source
so<00:50:28.859><c> if</c><00:50:29.009><c> you</c><00:50:29.160><c> want</c><00:50:29.339><c> to</c><00:50:29.430><c> go</c><00:50:29.549><c> patent</c><00:50:29.970><c> the</c><00:50:30.089><c> open</c>

00:50:30.410 --> 00:50:30.420 align:start position:0%
so if you want to go patent the open
 

00:50:30.420 --> 00:50:32.630 align:start position:0%
so if you want to go patent the open
source<00:50:30.599><c> code</c><00:50:31.069><c> licensed</c><00:50:32.069><c> under</c><00:50:32.309><c> the</c><00:50:32.400><c> MIT</c>

00:50:32.630 --> 00:50:32.640 align:start position:0%
source code licensed under the MIT
 

00:50:32.640 --> 00:50:34.309 align:start position:0%
source code licensed under the MIT
license<00:50:33.269><c> go</c><00:50:33.480><c> for</c><00:50:33.720><c> it</c><00:50:33.809><c> guys</c>

00:50:34.309 --> 00:50:34.319 align:start position:0%
license go for it guys
 

00:50:34.319 --> 00:50:36.859 align:start position:0%
license go for it guys
no<00:50:35.009><c> there</c><00:50:35.220><c> is</c><00:50:35.309><c> no</c><00:50:35.430><c> copyright</c><00:50:35.670><c> again</c><00:50:36.509><c> this</c><00:50:36.690><c> has</c>

00:50:36.859 --> 00:50:36.869 align:start position:0%
no there is no copyright again this has
 

00:50:36.869 --> 00:50:39.680 align:start position:0%
no there is no copyright again this has
been<00:50:37.049><c> public</c><00:50:37.920><c> fully</c><00:50:38.400><c> public</c><00:50:38.849><c> fully</c><00:50:39.390><c> open</c>

00:50:39.680 --> 00:50:39.690 align:start position:0%
been public fully public fully open
 

00:50:39.690 --> 00:50:42.529 align:start position:0%
been public fully public fully open
source<00:50:39.950><c> since</c><00:50:40.950><c> I</c><00:50:41.369><c> think</c><00:50:41.789><c> we</c><00:50:41.910><c> released</c><00:50:42.269><c> it</c><00:50:42.420><c> in</c>

00:50:42.529 --> 00:50:42.539 align:start position:0%
source since I think we released it in
 

00:50:42.539 --> 00:50:49.810 align:start position:0%
source since I think we released it in
April

00:50:49.810 --> 00:50:49.820 align:start position:0%
 
 

00:50:49.820 --> 00:50:54.280 align:start position:0%
 
oh<00:50:51.610><c> god</c><00:50:52.610><c> it's</c><00:50:52.880><c> GPL</c><00:50:53.300><c> infected</c><00:50:53.810><c> well</c><00:50:54.020><c> there</c><00:50:54.170><c> we</c>

00:50:54.280 --> 00:50:54.290 align:start position:0%
oh god it's GPL infected well there we
 

00:50:54.290 --> 00:50:54.660 align:start position:0%
oh god it's GPL infected well there we
go

00:50:54.660 --> 00:50:54.670 align:start position:0%
go
 

00:50:54.670 --> 00:51:00.040 align:start position:0%
go
there<00:50:55.670><c> we</c><00:50:55.820><c> go</c>

00:51:00.040 --> 00:51:00.050 align:start position:0%
 
 

00:51:00.050 --> 00:51:05.560 align:start position:0%
 
I<00:51:00.080><c> have</c><00:51:00.680><c> several</c><00:51:01.160><c> questions</c><00:51:04.120><c> regarding</c><00:51:05.120><c> the</c>

00:51:05.560 --> 00:51:05.570 align:start position:0%
I have several questions regarding the
 

00:51:05.570 --> 00:51:09.450 align:start position:0%
I have several questions regarding the
specs<00:51:05.930><c> other</c><00:51:06.790><c> official</c><00:51:07.790><c> specs</c><00:51:08.090><c> now</c><00:51:08.450><c> because</c>

00:51:09.450 --> 00:51:09.460 align:start position:0%
specs other official specs now because
 

00:51:09.460 --> 00:51:17.640 align:start position:0%
specs other official specs now because
in<00:51:10.460><c> the</c><00:51:10.940><c> beginning</c><00:51:11.090><c> it</c><00:51:11.480><c> was</c><00:51:11.630><c> a</c><00:51:11.660><c> bit</c><00:51:12.730><c> janky</c><00:51:16.630><c> I</c>

00:51:17.640 --> 00:51:17.650 align:start position:0%
in the beginning it was a bit janky I
 

00:51:17.650 --> 00:51:20.950 align:start position:0%
in the beginning it was a bit janky I
realized<00:51:18.650><c> that</c><00:51:18.830><c> there</c><00:51:19.040><c> is</c><00:51:19.190><c> a</c><00:51:19.450><c> still</c><00:51:20.450><c> some</c><00:51:20.750><c> use</c>

00:51:20.950 --> 00:51:20.960 align:start position:0%
realized that there is a still some use
 

00:51:20.960 --> 00:51:27.340 align:start position:0%
realized that there is a still some use
of<00:51:21.140><c> FN</c><00:51:21.470><c> v</c><00:51:21.770><c> in</c><00:51:24.490><c> hey</c><00:51:25.490><c> no</c><00:51:26.270><c> no</c><00:51:26.570><c> the</c><00:51:26.750><c> normal</c><00:51:27.140><c> Wow</c><00:51:27.260><c> oh</c>

00:51:27.340 --> 00:51:27.350 align:start position:0%
of FN v in hey no no the normal Wow oh
 

00:51:27.350 --> 00:51:31.570 align:start position:0%
of FN v in hey no no the normal Wow oh
yeah<00:51:27.590><c> yeah</c><00:51:27.740><c> because</c><00:51:28.130><c> I've</c><00:51:28.970><c> I've</c><00:51:29.780><c> seen</c><00:51:30.290><c> the</c><00:51:30.580><c> the</c>

00:51:31.570 --> 00:51:31.580 align:start position:0%
yeah yeah because I've I've seen the the
 

00:51:31.580 --> 00:51:35.140 align:start position:0%
yeah yeah because I've I've seen the the
primes<00:51:31.910><c> used</c><00:51:32.450><c> by</c><00:51:32.660><c> the</c><00:51:32.720><c> normal</c><00:51:33.170><c> one</c><00:51:34.090><c> why</c><00:51:35.090><c> is</c>

00:51:35.140 --> 00:51:35.150 align:start position:0%
primes used by the normal one why is
 

00:51:35.150 --> 00:51:38.050 align:start position:0%
primes used by the normal one why is
that<00:51:35.920><c> simply</c><00:51:36.920><c> because</c><00:51:37.280><c> we</c><00:51:37.550><c> didn't</c><00:51:37.880><c> want</c><00:51:38.000><c> to</c>

00:51:38.050 --> 00:51:38.060 align:start position:0%
that simply because we didn't want to
 

00:51:38.060 --> 00:51:39.820 align:start position:0%
that simply because we didn't want to
mess<00:51:38.330><c> around</c><00:51:38.510><c> with</c><00:51:38.840><c> the</c><00:51:39.050><c> original</c><00:51:39.470><c> proof</c><00:51:39.710><c> of</c>

00:51:39.820 --> 00:51:39.830 align:start position:0%
mess around with the original proof of
 

00:51:39.830 --> 00:51:41.440 align:start position:0%
mess around with the original proof of
algorithm<00:51:40.310><c> too</c><00:51:40.460><c> much</c><00:51:40.670><c> because</c><00:51:40.940><c> it</c><00:51:41.180><c> affects</c>

00:51:41.440 --> 00:51:41.450 align:start position:0%
algorithm too much because it affects
 

00:51:41.450 --> 00:51:43.840 align:start position:0%
algorithm too much because it affects
that<00:51:41.630><c> you</c><00:51:41.810><c> it</c><00:51:42.200><c> affects</c><00:51:42.530><c> the</c><00:51:42.770><c> balance</c><00:51:43.160><c> of</c><00:51:43.670><c> the</c>

00:51:43.840 --> 00:51:43.850 align:start position:0%
that you it affects the balance of the
 

00:51:43.850 --> 00:51:48.820 align:start position:0%
that you it affects the balance of the
compute<00:51:44.480><c> core</c><00:51:44.660><c> of</c><00:51:44.780><c> the</c><00:51:44.900><c> GPU</c><00:51:45.790><c> if</c><00:51:47.620><c> it's</c><00:51:48.620><c> in</c><00:51:48.710><c> the</c>

00:51:48.820 --> 00:51:48.830 align:start position:0%
compute core of the GPU if it's in the
 

00:51:48.830 --> 00:51:53.050 align:start position:0%
compute core of the GPU if it's in the
is<00:51:49.010><c> it</c><00:51:49.190><c> in</c><00:51:49.310><c> the</c><00:51:49.400><c> dead</c><00:51:50.110><c> duck</c><00:51:51.110><c> generation</c><00:51:51.880><c> yes</c><00:51:52.880><c> it</c>

00:51:53.050 --> 00:51:53.060 align:start position:0%
is it in the dead duck generation yes it
 

00:51:53.060 --> 00:51:59.410 align:start position:0%
is it in the dead duck generation yes it
is<00:51:53.620><c> okay</c><00:51:57.280><c> then</c><00:51:58.280><c> the</c><00:51:58.460><c> question</c><00:51:58.880><c> is</c><00:51:59.060><c> if</c><00:51:59.270><c> we</c>

00:51:59.410 --> 00:51:59.420 align:start position:0%
is okay then the question is if we
 

00:51:59.420 --> 00:52:01.780 align:start position:0%
is okay then the question is if we
shouldn't<00:51:59.780><c> just</c><00:52:00.350><c> change</c><00:52:00.800><c> this</c><00:52:01.070><c> if</c><00:52:01.310><c> we</c><00:52:01.460><c> change</c>

00:52:01.780 --> 00:52:01.790 align:start position:0%
shouldn't just change this if we change
 

00:52:01.790 --> 00:52:04.990 align:start position:0%
shouldn't just change this if we change
prop<00:52:02.360><c> oh</c><00:52:02.600><c> we</c><00:52:03.290><c> should</c><00:52:03.530><c> maybe</c><00:52:03.890><c> just</c><00:52:04.250><c> change</c><00:52:04.700><c> this</c>

00:52:04.990 --> 00:52:05.000 align:start position:0%
prop oh we should maybe just change this
 

00:52:05.000 --> 00:52:07.810 align:start position:0%
prop oh we should maybe just change this
if<00:52:05.300><c> this</c><00:52:05.600><c> we</c><00:52:06.170><c> can</c><00:52:06.410><c> buy</c><00:52:06.560><c> from</c>

00:52:07.810 --> 00:52:07.820 align:start position:0%
if this we can buy from
 

00:52:07.820 --> 00:52:10.450 align:start position:0%
if this we can buy from
we<00:52:08.120><c> can</c><00:52:08.330><c> we</c><00:52:08.570><c> can</c><00:52:08.750><c> definitely</c><00:52:08.930><c> take</c><00:52:09.650><c> FNV</c><00:52:10.280><c> out</c>

00:52:10.450 --> 00:52:10.460 align:start position:0%
we can we can definitely take FNV out
 

00:52:10.460 --> 00:52:12.940 align:start position:0%
we can we can definitely take FNV out
altogether<00:52:11.170><c> we'd</c><00:52:12.170><c> need</c><00:52:12.380><c> to</c><00:52:12.530><c> find</c><00:52:12.800><c> another</c>

00:52:12.940 --> 00:52:12.950 align:start position:0%
altogether we'd need to find another
 

00:52:12.950 --> 00:52:16.570 align:start position:0%
altogether we'd need to find another
really<00:52:13.760><c> light</c><00:52:14.090><c> verification</c><00:52:14.930><c> fast</c><00:52:15.200><c> hash</c><00:52:15.580><c> that</c>

00:52:16.570 --> 00:52:16.580 align:start position:0%
really light verification fast hash that
 

00:52:16.580 --> 00:52:18.070 align:start position:0%
really light verification fast hash that
would<00:52:16.700><c> just</c><00:52:16.880><c> require</c><00:52:17.120><c> some</c><00:52:17.390><c> sort</c><00:52:17.630><c> of</c><00:52:17.750><c> research</c>

00:52:18.070 --> 00:52:18.080 align:start position:0%
would just require some sort of research
 

00:52:18.080 --> 00:52:20.460 align:start position:0%
would just require some sort of research
maybe<00:52:18.500><c> we</c><00:52:18.710><c> should</c><00:52:18.890><c> just</c><00:52:19.130><c> change</c><00:52:19.310><c> it</c><00:52:19.520><c> to</c><00:52:19.550><c> FN</c><00:52:19.940><c> v</c>

00:52:20.460 --> 00:52:20.470 align:start position:0%
maybe we should just change it to FN v
 

00:52:20.470 --> 00:52:25.800 align:start position:0%
maybe we should just change it to FN v
f11<00:52:21.470><c> a</c><00:52:21.620><c> yeah</c><00:52:22.190><c> we</c><00:52:22.490><c> can</c><00:52:22.640><c> do</c><00:52:22.760><c> that</c><00:52:22.940><c> maybe</c><00:52:23.480><c> yeah</c><00:52:23.840><c> ok</c>

00:52:25.800 --> 00:52:25.810 align:start position:0%
f11 a yeah we can do that maybe yeah ok
 

00:52:25.810 --> 00:52:33.040 align:start position:0%
f11 a yeah we can do that maybe yeah ok
then<00:52:26.830><c> the</c><00:52:27.830><c> cache</c><00:52:28.490><c> the</c><00:52:29.150><c> small</c><00:52:29.930><c> cache</c><00:52:30.380><c> in</c><00:52:32.050><c> shared</c>

00:52:33.040 --> 00:52:33.050 align:start position:0%
then the cache the small cache in shared
 

00:52:33.050 --> 00:52:35.350 align:start position:0%
then the cache the small cache in shared
memory<00:52:33.110><c> why</c><00:52:33.830><c> is</c><00:52:33.890><c> it</c><00:52:34.160><c> felt</c><00:52:34.460><c> that</c><00:52:34.640><c> way</c><00:52:34.820><c> it's</c><00:52:35.060><c> felt</c>

00:52:35.350 --> 00:52:35.360 align:start position:0%
memory why is it felt that way it's felt
 

00:52:35.360 --> 00:52:40.420 align:start position:0%
memory why is it felt that way it's felt
like<00:52:35.630><c> at</c><00:52:36.080><c> first</c><00:52:37.180><c> 128</c><00:52:38.180><c> bytes</c><00:52:39.110><c> from</c><00:52:39.710><c> from</c><00:52:40.310><c> the</c>

00:52:40.420 --> 00:52:40.430 align:start position:0%
like at first 128 bytes from from the
 

00:52:40.430 --> 00:52:42.520 align:start position:0%
like at first 128 bytes from from the
deck<00:52:40.610><c> or</c><00:52:40.850><c> something</c><00:52:41.210><c> or</c><00:52:41.360><c> the</c><00:52:41.510><c> first</c><00:52:42.020><c> elements</c>

00:52:42.520 --> 00:52:42.530 align:start position:0%
deck or something or the first elements
 

00:52:42.530 --> 00:52:46.540 align:start position:0%
deck or something or the first elements
from<00:52:42.650><c> the</c><00:52:42.830><c> deck</c><00:52:43.660><c> why</c><00:52:44.660><c> that</c><00:52:45.620><c> why</c><00:52:45.950><c> not</c><00:52:46.070><c> some</c>

00:52:46.540 --> 00:52:46.550 align:start position:0%
from the deck why that why not some
 

00:52:46.550 --> 00:52:49.600 align:start position:0%
from the deck why that why not some
randomness<00:52:47.060><c> or</c><00:52:47.510><c> something</c><00:52:48.280><c> simply</c><00:52:49.280><c> because</c>

00:52:49.600 --> 00:52:49.610 align:start position:0%
randomness or something simply because
 

00:52:49.610 --> 00:52:52.570 align:start position:0%
randomness or something simply because
that<00:52:49.850><c> would</c><00:52:50.120><c> so</c><00:52:50.900><c> if</c><00:52:51.440><c> you</c><00:52:51.770><c> were</c><00:52:51.920><c> going</c><00:52:52.220><c> to</c><00:52:52.340><c> make</c>

00:52:52.570 --> 00:52:52.580 align:start position:0%
that would so if you were going to make
 

00:52:52.580 --> 00:52:55.150 align:start position:0%
that would so if you were going to make
a<00:52:52.910><c> probe</c><00:52:53.360><c> pal</c><00:52:53.600><c> ASIC</c><00:52:54.110><c> because</c><00:52:54.740><c> it</c><00:52:54.860><c> doesn't</c>

00:52:55.150 --> 00:52:55.160 align:start position:0%
a probe pal ASIC because it doesn't
 

00:52:55.160 --> 00:52:58.870 align:start position:0%
a probe pal ASIC because it doesn't
saturate<00:52:55.370><c> all</c><00:52:56.210><c> of</c><00:52:56.600><c> it</c><00:52:56.750><c> completely</c><00:52:57.530><c> in</c><00:52:57.880><c> theory</c>

00:52:58.870 --> 00:52:58.880 align:start position:0%
saturate all of it completely in theory
 

00:52:58.880 --> 00:53:02.680 align:start position:0%
saturate all of it completely in theory
in<00:52:59.410><c> theory</c><00:53:00.410><c> you</c><00:53:01.220><c> could</c><00:53:01.370><c> go</c><00:53:01.550><c> and</c><00:53:01.700><c> create</c><00:53:02.000><c> a</c><00:53:02.210><c> sort</c>

00:53:02.680 --> 00:53:02.690 align:start position:0%
in theory you could go and create a sort
 

00:53:02.690 --> 00:53:03.730 align:start position:0%
in theory you could go and create a sort
of<00:53:02.810><c> a</c><00:53:02.900><c> compute</c><00:53:03.290><c> core</c>

00:53:03.730 --> 00:53:03.740 align:start position:0%
of a compute core
 

00:53:03.740 --> 00:53:06.940 align:start position:0%
of a compute core
that<00:53:04.520><c> takes</c><00:53:05.119><c> takes</c><00:53:05.720><c> all</c><00:53:05.930><c> this</c><00:53:06.080><c> randomness</c><00:53:06.530><c> and</c>

00:53:06.940 --> 00:53:06.950 align:start position:0%
that takes takes all this randomness and
 

00:53:06.950 --> 00:53:12.550 align:start position:0%
that takes takes all this randomness and
does<00:53:07.550><c> a</c><00:53:08.470><c> pre-compute</c><00:53:10.150><c> with</c><00:53:11.150><c> an</c><00:53:11.300><c> FPGA</c><00:53:11.780><c> it</c><00:53:12.380><c> would</c>

00:53:12.550 --> 00:53:12.560 align:start position:0%
does a pre-compute with an FPGA it would
 

00:53:12.560 --> 00:53:14.109 align:start position:0%
does a pre-compute with an FPGA it would
only<00:53:12.830><c> have</c><00:53:12.980><c> to</c><00:53:13.070><c> do</c><00:53:13.160><c> it</c><00:53:13.280><c> every</c><00:53:13.460><c> 12</c><00:53:13.670><c> minutes</c><00:53:14.030><c> you</c>

00:53:14.109 --> 00:53:14.119 align:start position:0%
only have to do it every 12 minutes you
 

00:53:14.119 --> 00:53:15.579 align:start position:0%
only have to do it every 12 minutes you
could<00:53:14.240><c> have</c><00:53:14.330><c> a</c><00:53:14.420><c> very</c><00:53:14.450><c> dedicated</c><00:53:14.839><c> bitstream</c>

00:53:15.579 --> 00:53:15.589 align:start position:0%
could have a very dedicated bitstream
 

00:53:15.589 --> 00:53:19.390 align:start position:0%
could have a very dedicated bitstream
developer<00:53:16.099><c> and</c><00:53:17.380><c> you</c><00:53:18.380><c> wouldn't</c><00:53:18.770><c> always</c><00:53:18.950><c> get</c>

00:53:19.390 --> 00:53:19.400 align:start position:0%
developer and you wouldn't always get
 

00:53:19.400 --> 00:53:22.420 align:start position:0%
developer and you wouldn't always get
that<00:53:19.640><c> balance</c><00:53:20.080><c> between</c><00:53:21.220><c> this</c><00:53:22.220><c> is</c><00:53:22.400><c> the</c>

00:53:22.420 --> 00:53:22.430 align:start position:0%
that balance between this is the
 

00:53:22.430 --> 00:53:23.740 align:start position:0%
that balance between this is the
important<00:53:22.940><c> part</c><00:53:23.060><c> you</c><00:53:23.240><c> wouldn't</c><00:53:23.510><c> get</c><00:53:23.599><c> the</c>

00:53:23.740 --> 00:53:23.750 align:start position:0%
important part you wouldn't get the
 

00:53:23.750 --> 00:53:25.690 align:start position:0%
important part you wouldn't get the
balance<00:53:24.080><c> between</c><00:53:24.230><c> a</c><00:53:24.440><c> NVIDIA</c><00:53:24.859><c> GPU</c><00:53:25.250><c> and</c><00:53:25.369><c> an</c><00:53:25.460><c> AMD</c>

00:53:25.690 --> 00:53:25.700 align:start position:0%
balance between a NVIDIA GPU and an AMD
 

00:53:25.700 --> 00:53:28.570 align:start position:0%
balance between a NVIDIA GPU and an AMD
GPU<00:53:26.710><c> sometimes</c><00:53:27.710><c> if</c><00:53:28.010><c> there</c><00:53:28.160><c> was</c><00:53:28.280><c> too</c><00:53:28.460><c> much</c>

00:53:28.570 --> 00:53:28.580 align:start position:0%
GPU sometimes if there was too much
 

00:53:28.580 --> 00:53:31.030 align:start position:0%
GPU sometimes if there was too much
randomness<00:53:29.150><c> you'd</c><00:53:29.390><c> end</c><00:53:29.599><c> up</c><00:53:29.720><c> going</c><00:53:30.109><c> way</c><00:53:30.619><c> over</c>

00:53:31.030 --> 00:53:31.040 align:start position:0%
randomness you'd end up going way over
 

00:53:31.040 --> 00:53:35.200 align:start position:0%
randomness you'd end up going way over
the<00:53:31.270><c> the</c><00:53:32.270><c> case</c><00:53:33.109><c> case</c><00:53:33.740><c> availability</c><00:53:34.490><c> for</c><00:53:35.089><c> an</c>

00:53:35.200 --> 00:53:35.210 align:start position:0%
the the case case availability for an
 

00:53:35.210 --> 00:53:38.020 align:start position:0%
the the case case availability for an
AMD<00:53:35.480><c> GPU</c><00:53:36.050><c> the</c><00:53:36.410><c> AMD</c><00:53:36.800><c> GPU</c><00:53:37.250><c> here</c><00:53:37.520><c> is</c><00:53:37.640><c> the</c><00:53:37.790><c> big</c>

00:53:38.020 --> 00:53:38.030 align:start position:0%
AMD GPU the AMD GPU here is the big
 

00:53:38.030 --> 00:53:41.940 align:start position:0%
AMD GPU the AMD GPU here is the big
bottleneck<00:53:38.950><c> and</c><00:53:39.950><c> I</c><00:53:40.369><c> think</c><00:53:41.060><c> both</c><00:53:41.270><c> both</c>

00:53:41.940 --> 00:53:41.950 align:start position:0%
bottleneck and I think both both
 

00:53:41.950 --> 00:53:44.160 align:start position:0%
bottleneck and I think both both
architectures<00:53:42.950><c> have</c><00:53:42.980><c> to</c><00:53:43.339><c> save</c><00:53:43.550><c> the</c><00:53:43.790><c> same</c>

00:53:44.160 --> 00:53:44.170 align:start position:0%
architectures have to save the same
 

00:53:44.170 --> 00:53:48.040 align:start position:0%
architectures have to save the same
amount<00:53:45.170><c> of</c><00:53:45.380><c> data</c><00:53:46.190><c> in</c><00:53:46.520><c> correct</c><00:53:47.300><c> but</c><00:53:47.810><c> if</c><00:53:47.900><c> you</c>

00:53:48.040 --> 00:53:48.050 align:start position:0%
amount of data in correct but if you
 

00:53:48.050 --> 00:53:50.380 align:start position:0%
amount of data in correct but if you
have<00:53:48.230><c> the</c><00:53:48.380><c> ran</c><00:53:48.560><c> randomness</c><00:53:49.430><c> changing</c><00:53:50.300><c> the</c>

00:53:50.380 --> 00:53:50.390 align:start position:0%
have the ran randomness changing the
 

00:53:50.390 --> 00:53:52.750 align:start position:0%
have the ran randomness changing the
bytes<00:53:50.599><c> that</c><00:53:51.050><c> screws</c><00:53:51.980><c> with</c><00:53:52.220><c> the</c><00:53:52.310><c> saturation</c>

00:53:52.750 --> 00:53:52.760 align:start position:0%
bytes that screws with the saturation
 

00:53:52.760 --> 00:53:55.960 align:start position:0%
bytes that screws with the saturation
and<00:53:53.150><c> then</c><00:53:54.080><c> that</c><00:53:54.290><c> would</c><00:53:54.500><c> cause</c><00:53:54.740><c> the</c><00:53:55.040><c> AMD</c><00:53:55.460><c> GPUs</c>

00:53:55.960 --> 00:53:55.970 align:start position:0%
and then that would cause the AMD GPUs
 

00:53:55.970 --> 00:53:58.210 align:start position:0%
and then that would cause the AMD GPUs
to<00:53:56.000><c> underperform</c><00:53:56.540><c> we</c><00:53:56.990><c> did</c><00:53:57.200><c> try</c><00:53:57.470><c> that</c><00:53:57.680><c> early</c><00:53:58.190><c> on</c>

00:53:58.210 --> 00:53:58.220 align:start position:0%
to underperform we did try that early on
 

00:53:58.220 --> 00:54:02.940 align:start position:0%
to underperform we did try that early on
it<00:53:58.700><c> didn't</c><00:53:59.000><c> work</c><00:53:59.119><c> out</c><00:53:59.270><c> too</c><00:53:59.330><c> well</c>

00:54:02.940 --> 00:54:02.950 align:start position:0%
 
 

00:54:02.950 --> 00:54:07.020 align:start position:0%
 
the<00:54:04.330><c> updates</c><00:54:05.330><c> so</c><00:54:05.570><c> we</c><00:54:05.750><c> have</c><00:54:05.930><c> an</c><00:54:06.080><c> update</c><00:54:06.410><c> every</c>

00:54:07.020 --> 00:54:07.030 align:start position:0%
the updates so we have an update every
 

00:54:07.030 --> 00:54:10.990 align:start position:0%
the updates so we have an update every
25<00:54:08.030><c> I</c><00:54:08.270><c> don't</c><00:54:08.570><c> know</c><00:54:08.660><c> every</c><00:54:09.020><c> 50</c><00:54:09.500><c> or</c><00:54:09.800><c> 60</c><00:54:10.310><c> yeah</c><00:54:10.490><c> we</c>

00:54:10.990 --> 00:54:11.000 align:start position:0%
25 I don't know every 50 or 60 yeah we
 

00:54:11.000 --> 00:54:13.960 align:start position:0%
25 I don't know every 50 or 60 yeah we
put<00:54:11.210><c> it</c><00:54:11.300><c> at</c><00:54:11.420><c> 50</c><00:54:11.780><c> blocks</c><00:54:12.020><c> I</c><00:54:12.380><c> think</c><00:54:12.650><c> we</c><00:54:13.430><c> were</c><00:54:13.580><c> we</c>

00:54:13.960 --> 00:54:13.970 align:start position:0%
put it at 50 blocks I think we were we
 

00:54:13.970 --> 00:54:15.250 align:start position:0%
put it at 50 blocks I think we were we
finalized<00:54:14.450><c> on</c><00:54:14.599><c> 50</c><00:54:14.900><c> bucks</c>

00:54:15.250 --> 00:54:15.260 align:start position:0%
finalized on 50 bucks
 

00:54:15.260 --> 00:54:18.190 align:start position:0%
finalized on 50 bucks
you<00:54:15.950><c> could</c><00:54:16.250><c> change</c><00:54:16.580><c> it</c><00:54:16.849><c> to</c><00:54:16.910><c> 25</c><00:54:17.420><c> blocks</c><00:54:17.869><c> but</c>

00:54:18.190 --> 00:54:18.200 align:start position:0%
you could change it to 25 blocks but
 

00:54:18.200 --> 00:54:20.320 align:start position:0%
you could change it to 25 blocks but
there's<00:54:18.349><c> really</c><00:54:18.619><c> no</c><00:54:18.830><c> point</c><00:54:19.099><c> 50</c><00:54:19.880><c> blocks</c><00:54:20.150><c> is</c>

00:54:20.320 --> 00:54:20.330 align:start position:0%
there's really no point 50 blocks is
 

00:54:20.330 --> 00:54:22.150 align:start position:0%
there's really no point 50 blocks is
pretty<00:54:20.570><c> good</c><00:54:20.750><c> but</c><00:54:21.020><c> I</c><00:54:21.290><c> guess</c><00:54:21.619><c> if</c><00:54:21.890><c> you</c><00:54:21.950><c> want</c><00:54:22.099><c> to</c>

00:54:22.150 --> 00:54:22.160 align:start position:0%
pretty good but I guess if you want to
 

00:54:22.160 --> 00:54:24.460 align:start position:0%
pretty good but I guess if you want to
be<00:54:22.250><c> super</c><00:54:22.400><c> hardcore</c><00:54:22.790><c> changing</c><00:54:23.390><c> 25</c><00:54:23.869><c> blocks</c>

00:54:24.460 --> 00:54:24.470 align:start position:0%
be super hardcore changing 25 blocks
 

00:54:24.470 --> 00:54:27.070 align:start position:0%
be super hardcore changing 25 blocks
what's<00:54:24.950><c> the</c><00:54:25.130><c> overhead</c><00:54:25.520><c> of</c><00:54:25.700><c> this</c><00:54:25.910><c> update</c><00:54:26.119><c> do</c>

00:54:27.070 --> 00:54:27.080 align:start position:0%
what's the overhead of this update do
 

00:54:27.080 --> 00:54:29.170 align:start position:0%
what's the overhead of this update do
you<00:54:27.170><c> have</c><00:54:27.410><c> some</c><00:54:27.710><c> what</c><00:54:28.670><c> do</c><00:54:28.790><c> you</c><00:54:28.880><c> mean</c><00:54:29.030><c> by</c>

00:54:29.170 --> 00:54:29.180 align:start position:0%
you have some what do you mean by
 

00:54:29.180 --> 00:54:32.140 align:start position:0%
you have some what do you mean by
overhead<00:54:29.630><c> like</c><00:54:30.349><c> do</c><00:54:31.220><c> you</c><00:54:31.580><c> have</c><00:54:31.609><c> to</c><00:54:31.820><c> pre-compute</c>

00:54:32.140 --> 00:54:32.150 align:start position:0%
overhead like do you have to pre-compute
 

00:54:32.150 --> 00:54:35.500 align:start position:0%
overhead like do you have to pre-compute
the<00:54:32.480><c> kernel</c><00:54:32.869><c> do</c><00:54:33.770><c> on</c><00:54:34.070><c> a</c><00:54:34.130><c> GPU</c><00:54:34.609><c> it's</c><00:54:34.940><c> it's</c><00:54:35.270><c> really</c>

00:54:35.500 --> 00:54:35.510 align:start position:0%
the kernel do on a GPU it's it's really
 

00:54:35.510 --> 00:54:38.200 align:start position:0%
the kernel do on a GPU it's it's really
fast<00:54:35.869><c> it's</c><00:54:36.230><c> we</c><00:54:36.800><c> publish</c><00:54:37.460><c> it</c><00:54:37.640><c> publicly</c><00:54:37.670><c> it</c>

00:54:38.200 --> 00:54:38.210 align:start position:0%
fast it's we publish it publicly it
 

00:54:38.210 --> 00:54:42.220 align:start position:0%
fast it's we publish it publicly it
should<00:54:38.420><c> be</c><00:54:38.510><c> like</c><00:54:38.720><c> 0.2</c><00:54:39.710><c> or</c><00:54:39.740><c> 0.3</c><00:54:40.430><c> seconds</c><00:54:41.230><c> 25</c>

00:54:42.220 --> 00:54:42.230 align:start position:0%
should be like 0.2 or 0.3 seconds 25
 

00:54:42.230 --> 00:54:47.920 align:start position:0%
should be like 0.2 or 0.3 seconds 25
blocks<00:54:42.950><c> gets</c><00:54:43.940><c> a</c><00:54:44.119><c> little</c><00:54:44.680><c> a</c><00:54:45.680><c> little</c><00:54:46.339><c> painful</c><00:54:46.930><c> on</c>

00:54:47.920 --> 00:54:47.930 align:start position:0%
blocks gets a little a little painful on
 

00:54:47.930 --> 00:54:50.109 align:start position:0%
blocks gets a little a little painful on
an<00:54:48.349><c> FPGA</c><00:54:48.920><c> you're</c><00:54:49.310><c> still</c><00:54:49.550><c> gonna</c><00:54:49.640><c> have</c><00:54:49.880><c> to</c><00:54:49.910><c> go</c>

00:54:50.109 --> 00:54:50.119 align:start position:0%
an FPGA you're still gonna have to go
 

00:54:50.119 --> 00:54:53.230 align:start position:0%
an FPGA you're still gonna have to go
and<00:54:50.300><c> we</c><00:54:50.960><c> push</c><00:54:51.170><c> out</c><00:54:51.320><c> the</c><00:54:51.470><c> bit</c><00:54:51.619><c> stream</c><00:54:52.240><c> every</c>

00:54:53.230 --> 00:54:53.240 align:start position:0%
and we push out the bit stream every
 

00:54:53.240 --> 00:54:54.990 align:start position:0%
and we push out the bit stream every
every<00:54:53.690><c> few</c><00:54:53.869><c> blocks</c><00:54:54.080><c> which</c><00:54:54.349><c> will</c><00:54:54.500><c> be</c><00:54:54.589><c> painful</c>

00:54:54.990 --> 00:54:55.000 align:start position:0%
every few blocks which will be painful
 

00:54:55.000 --> 00:54:59.410 align:start position:0%
every few blocks which will be painful
that<00:54:56.000><c> will</c><00:54:56.210><c> be</c><00:54:56.359><c> a</c><00:54:57.040><c> three</c><00:54:58.040><c> to</c><00:54:58.070><c> three</c><00:54:58.940><c> to</c><00:54:59.150><c> seven</c>

00:54:59.410 --> 00:54:59.420 align:start position:0%
that will be a three to three to seven
 

00:54:59.420 --> 00:55:02.140 align:start position:0%
that will be a three to three to seven
minute<00:54:59.869><c> overhead</c><00:55:00.310><c> do</c><00:55:01.310><c> you</c><00:55:01.430><c> know</c><00:55:01.580><c> how</c><00:55:01.730><c> much</c><00:55:01.910><c> CPU</c>

00:55:02.140 --> 00:55:02.150 align:start position:0%
minute overhead do you know how much CPU
 

00:55:02.150 --> 00:55:05.950 align:start position:0%
minute overhead do you know how much CPU
that<00:55:03.880><c> computing</c><00:55:04.880><c> the</c><00:55:05.060><c> kernel</c><00:55:05.390><c> code</c><00:55:05.540><c> I</c><00:55:05.630><c> don't</c>

00:55:05.950 --> 00:55:05.960 align:start position:0%
that computing the kernel code I don't
 

00:55:05.960 --> 00:55:08.050 align:start position:0%
that computing the kernel code I don't
actually<00:55:06.200><c> I</c><00:55:06.619><c> should</c><00:55:06.980><c> I</c><00:55:07.339><c> should</c><00:55:07.369><c> measure</c><00:55:07.790><c> that</c>

00:55:08.050 --> 00:55:08.060 align:start position:0%
actually I should I should measure that
 

00:55:08.060 --> 00:55:10.390 align:start position:0%
actually I should I should measure that
I<00:55:08.330><c> know</c><00:55:08.540><c> that</c><00:55:08.750><c> some</c><00:55:09.349><c> of</c><00:55:09.500><c> the</c><00:55:09.619><c> mining</c><00:55:09.950><c> rigs</c><00:55:10.160><c> are</c>

00:55:10.390 --> 00:55:10.400 align:start position:0%
I know that some of the mining rigs are
 

00:55:10.400 --> 00:55:13.240 align:start position:0%
I know that some of the mining rigs are
running<00:55:11.180><c> on</c><00:55:11.330><c> almost</c><00:55:11.990><c> full</c><00:55:12.230><c> capacity</c><00:55:12.830><c> on</c><00:55:13.040><c> this</c>

00:55:13.240 --> 00:55:13.250 align:start position:0%
running on almost full capacity on this
 

00:55:13.250 --> 00:55:16.900 align:start position:0%
running on almost full capacity on this
like<00:55:13.580><c> really</c><00:55:14.330><c> small</c><00:55:15.609><c> intercourse</c>

00:55:16.900 --> 00:55:16.910 align:start position:0%
like really small intercourse
 

00:55:16.910 --> 00:55:19.060 align:start position:0%
like really small intercourse
most<00:55:17.120><c> of</c><00:55:17.360><c> them</c><00:55:17.480><c> have</c><00:55:17.660><c> a</c><00:55:17.690><c> Core</c><00:55:18.050><c> 2</c><00:55:18.290><c> Duo</c><00:55:18.320><c> which</c>

00:55:19.060 --> 00:55:19.070 align:start position:0%
most of them have a Core 2 Duo which
 

00:55:19.070 --> 00:55:21.490 align:start position:0%
most of them have a Core 2 Duo which
should<00:55:19.370><c> be</c><00:55:19.520><c> okay</c><00:55:19.880><c> with</c><00:55:20.090><c> it</c><00:55:20.120><c> quite</c><00:55:20.960><c> frankly</c><00:55:21.140><c> and</c>

00:55:21.490 --> 00:55:21.500 align:start position:0%
should be okay with it quite frankly and
 

00:55:21.500 --> 00:55:24.100 align:start position:0%
should be okay with it quite frankly and
all<00:55:21.920><c> of</c><00:55:22.190><c> our</c><00:55:22.280><c> computation</c><00:55:23.060><c> as</c><00:55:23.210><c> well</c><00:55:23.450><c> takes</c>

00:55:24.100 --> 00:55:24.110 align:start position:0%
all of our computation as well takes
 

00:55:24.110 --> 00:55:25.870 align:start position:0%
all of our computation as well takes
place<00:55:24.410><c> on</c><00:55:24.680><c> the</c><00:55:24.860><c> GPU</c><00:55:25.280><c> and</c><00:55:25.460><c> we</c><00:55:25.580><c> can</c><00:55:25.730><c> actually</c>

00:55:25.870 --> 00:55:25.880 align:start position:0%
place on the GPU and we can actually
 

00:55:25.880 --> 00:55:29.080 align:start position:0%
place on the GPU and we can actually
make<00:55:26.270><c> sure</c><00:55:26.540><c> that</c><00:55:26.810><c> oh</c><00:55:27.080><c> the</c><00:55:27.890><c> CPU</c><00:55:28.520><c> is</c><00:55:28.640><c> just</c><00:55:28.880><c> doing</c>

00:55:29.080 --> 00:55:29.090 align:start position:0%
make sure that oh the CPU is just doing
 

00:55:29.090 --> 00:55:31.360 align:start position:0%
make sure that oh the CPU is just doing
a<00:55:29.240><c> very</c><00:55:29.450><c> slight</c><00:55:29.720><c> amount</c><00:55:29.750><c> of</c><00:55:30.050><c> verification</c><00:55:30.680><c> so</c>

00:55:31.360 --> 00:55:31.370 align:start position:0%
a very slight amount of verification so
 

00:55:31.370 --> 00:55:33.070 align:start position:0%
a very slight amount of verification so
we<00:55:31.490><c> could</c><00:55:31.640><c> actually</c><00:55:31.760><c> tune</c><00:55:32.180><c> that</c><00:55:32.330><c> that's</c><00:55:32.780><c> more</c>

00:55:33.070 --> 00:55:33.080 align:start position:0%
we could actually tune that that's more
 

00:55:33.080 --> 00:55:35.140 align:start position:0%
we could actually tune that that's more
of<00:55:33.200><c> a</c><00:55:33.320><c> that's</c><00:55:33.920><c> not</c><00:55:34.010><c> on</c><00:55:34.610><c> the</c><00:55:34.760><c> proof-of-work</c>

00:55:35.140 --> 00:55:35.150 align:start position:0%
of a that's not on the proof-of-work
 

00:55:35.150 --> 00:55:36.490 align:start position:0%
of a that's not on the proof-of-work
side<00:55:35.540><c> though</c><00:55:35.720><c> that's</c><00:55:35.960><c> more</c><00:55:36.260><c> in</c><00:55:36.410><c> the</c>

00:55:36.490 --> 00:55:36.500 align:start position:0%
side though that's more in the
 

00:55:36.500 --> 00:55:38.950 align:start position:0%
side though that's more in the
application<00:55:36.650><c> or</c><00:55:37.400><c> like</c><00:55:37.610><c> the</c><00:55:37.760><c> current</c><00:55:38.030><c> the</c>

00:55:38.950 --> 00:55:38.960 align:start position:0%
application or like the current the
 

00:55:38.960 --> 00:55:41.230 align:start position:0%
application or like the current the
client<00:55:39.350><c> side</c><00:55:39.590><c> so</c><00:55:40.400><c> definitely</c><00:55:40.790><c> we</c><00:55:40.940><c> need</c><00:55:41.120><c> to</c>

00:55:41.230 --> 00:55:41.240 align:start position:0%
client side so definitely we need to
 

00:55:41.240 --> 00:55:42.730 align:start position:0%
client side so definitely we need to
work<00:55:41.390><c> with</c><00:55:41.420><c> the</c><00:55:41.750><c> etherium</c><00:55:42.080><c> developers</c><00:55:42.560><c> for</c>

00:55:42.730 --> 00:55:42.740 align:start position:0%
work with the etherium developers for
 

00:55:42.740 --> 00:55:44.710 align:start position:0%
work with the etherium developers for
that<00:55:42.860><c> again</c><00:55:43.610><c> the</c><00:55:43.760><c> clients</c><00:55:44.240><c> are</c><00:55:44.360><c> not</c><00:55:44.540><c> our</c>

00:55:44.710 --> 00:55:44.720 align:start position:0%
that again the clients are not our
 

00:55:44.720 --> 00:55:48.130 align:start position:0%
that again the clients are not our
strong<00:55:45.020><c> suite</c><00:55:45.320><c> as</c><00:55:46.220><c> as</c><00:55:46.640><c> is</c><00:55:46.940><c> proven</c><00:55:47.420><c> by</c><00:55:47.570><c> the</c><00:55:47.630><c> cpu</c>

00:55:48.130 --> 00:55:48.140 align:start position:0%
strong suite as as is proven by the cpu
 

00:55:48.140 --> 00:55:53.140 align:start position:0%
strong suite as as is proven by the cpu
verification<00:55:50.260><c> will</c><00:55:51.260><c> you</c><00:55:51.380><c> update</c><00:55:51.710><c> the</c><00:55:51.880><c> DEP</c><00:55:52.880><c> to</c>

00:55:53.140 --> 00:55:53.150 align:start position:0%
verification will you update the DEP to
 

00:55:53.150 --> 00:55:56.050 align:start position:0%
verification will you update the DEP to
have<00:55:53.750><c> the</c><00:55:53.900><c> new</c><00:55:54.080><c> spec</c><00:55:54.440><c> yes</c><00:55:55.070><c> that</c><00:55:55.460><c> has</c><00:55:55.670><c> been</c><00:55:55.880><c> on</c>

00:55:56.050 --> 00:55:56.060 align:start position:0%
have the new spec yes that has been on
 

00:55:56.060 --> 00:55:58.390 align:start position:0%
have the new spec yes that has been on
my<00:55:56.210><c> list</c><00:55:56.240><c> of</c><00:55:56.540><c> things</c><00:55:56.600><c> to</c><00:55:56.870><c> do</c><00:55:57.110><c> I</c><00:55:57.320><c> did</c><00:55:58.190><c> get</c><00:55:58.280><c> the</c>

00:55:58.390 --> 00:55:58.400 align:start position:0%
my list of things to do I did get the
 

00:55:58.400 --> 00:56:00.700 align:start position:0%
my list of things to do I did get the
medium<00:55:58.670><c> article</c><00:55:59.030><c> out</c><00:55:59.180><c> I</c><00:55:59.540><c> did</c><00:55:59.870><c> update</c><00:56:00.230><c> the</c><00:56:00.470><c> I</c>

00:56:00.700 --> 00:56:00.710 align:start position:0%
medium article out I did update the I
 

00:56:00.710 --> 00:56:04.320 align:start position:0%
medium article out I did update the I
did<00:56:00.950><c> get</c><00:56:01.550><c> hub</c><00:56:01.760><c> yes</c><00:56:02.120><c> I</c><00:56:02.300><c> need</c><00:56:02.360><c> to</c><00:56:02.480><c> update</c><00:56:02.720><c> the</c><00:56:03.020><c> EIP</c>

00:56:04.320 --> 00:56:04.330 align:start position:0%
did get hub yes I need to update the EIP
 

00:56:04.330 --> 00:56:07.270 align:start position:0%
did get hub yes I need to update the EIP
will<00:56:05.330><c> you</c><00:56:05.570><c> develop</c><00:56:06.320><c> some</c><00:56:06.560><c> test</c><00:56:06.830><c> cases</c><00:56:07.100><c> for</c>

00:56:07.270 --> 00:56:07.280 align:start position:0%
will you develop some test cases for
 

00:56:07.280 --> 00:56:10.990 align:start position:0%
will you develop some test cases for
other<00:56:07.880><c> clients</c><00:56:08.360><c> to</c><00:56:08.630><c> use</c><00:56:09.140><c> yes</c><00:56:10.010><c> I</c><00:56:10.400><c> need</c><00:56:10.550><c> help</c>

00:56:10.990 --> 00:56:11.000 align:start position:0%
other clients to use yes I need help
 

00:56:11.000 --> 00:56:15.040 align:start position:0%
other clients to use yes I need help
with<00:56:11.180><c> those</c><00:56:11.360><c> quite</c><00:56:11.960><c> frankly</c><00:56:12.290><c> I</c><00:56:13.570><c> think</c><00:56:14.570><c> that</c>

00:56:15.040 --> 00:56:15.050 align:start position:0%
with those quite frankly I think that
 

00:56:15.050 --> 00:56:18.490 align:start position:0%
with those quite frankly I think that
would<00:56:15.260><c> be</c><00:56:15.290><c> amazing</c><00:56:15.950><c> I</c><00:56:16.460><c> do</c><00:56:16.850><c> not</c><00:56:17.090><c> have</c><00:56:17.500><c> enough</c>

00:56:18.490 --> 00:56:18.500 align:start position:0%
would be amazing I do not have enough
 

00:56:18.500 --> 00:56:21.160 align:start position:0%
would be amazing I do not have enough
spare<00:56:18.950><c> cycles</c><00:56:19.220><c> to</c><00:56:20.150><c> date</c><00:56:20.360><c> to</c><00:56:20.570><c> be</c><00:56:20.690><c> able</c><00:56:20.810><c> to</c><00:56:20.960><c> do</c>

00:56:21.160 --> 00:56:21.170 align:start position:0%
spare cycles to date to be able to do
 

00:56:21.170 --> 00:56:25.510 align:start position:0%
spare cycles to date to be able to do
all<00:56:21.560><c> of</c><00:56:21.620><c> these</c><00:56:21.980><c> things</c><00:56:22.270><c> okay</c><00:56:23.270><c> thank</c><00:56:23.660><c> you</c><00:56:24.520><c> about</c>

00:56:25.510 --> 00:56:25.520 align:start position:0%
all of these things okay thank you about
 

00:56:25.520 --> 00:56:28.380 align:start position:0%
all of these things okay thank you about
five<00:56:25.700><c> minutes</c><00:56:26.000><c> left</c>

00:56:28.380 --> 00:56:28.390 align:start position:0%
 
 

00:56:28.390 --> 00:56:30.570 align:start position:0%
 
could<00:56:29.390><c> you</c><00:56:29.510><c> speak</c><00:56:29.720><c> a</c><00:56:29.840><c> little</c><00:56:29.960><c> more</c><00:56:30.080><c> about</c>

00:56:30.570 --> 00:56:30.580 align:start position:0%
could you speak a little more about
 

00:56:30.580 --> 00:56:33.670 align:start position:0%
could you speak a little more about
whether<00:56:31.580><c> this</c><00:56:32.390><c> changes</c><00:56:33.170><c> to</c><00:56:33.320><c> bandwidth</c>

00:56:33.670 --> 00:56:33.680 align:start position:0%
whether this changes to bandwidth
 

00:56:33.680 --> 00:56:36.580 align:start position:0%
whether this changes to bandwidth
consumption<00:56:34.220><c> on</c><00:56:34.670><c> the</c><00:56:34.700><c> bus</c><00:56:35.000><c> on</c><00:56:35.270><c> the</c><00:56:35.330><c> other</c><00:56:36.110><c> GPU</c>

00:56:36.580 --> 00:56:36.590 align:start position:0%
consumption on the bus on the other GPU
 

00:56:36.590 --> 00:56:40.030 align:start position:0%
consumption on the bus on the other GPU
because<00:56:37.220><c> of</c><00:56:37.400><c> the</c><00:56:37.520><c> increased</c><00:56:38.030><c> cache</c><00:56:38.930><c> size</c><00:56:39.230><c> yeah</c>

00:56:40.030 --> 00:56:40.040 align:start position:0%
because of the increased cache size yeah
 

00:56:40.040 --> 00:56:41.620 align:start position:0%
because of the increased cache size yeah
that's<00:56:40.610><c> that's</c><00:56:40.940><c> the</c><00:56:41.120><c> whole</c><00:56:41.240><c> point</c><00:56:41.450><c> it</c>

00:56:41.620 --> 00:56:41.630 align:start position:0%
that's that's the whole point it
 

00:56:41.630 --> 00:56:42.880 align:start position:0%
that's that's the whole point it
actually<00:56:41.930><c> does</c><00:56:42.110><c> change</c><00:56:42.410><c> the</c><00:56:42.470><c> bandwidth</c>

00:56:42.880 --> 00:56:42.890 align:start position:0%
actually does change the bandwidth
 

00:56:42.890 --> 00:56:46.150 align:start position:0%
actually does change the bandwidth
consumption<00:56:43.310><c> again</c><00:56:43.910><c> generically</c><00:56:44.450><c> it's</c><00:56:45.160><c> only</c>

00:56:46.150 --> 00:56:46.160 align:start position:0%
consumption again generically it's only
 

00:56:46.160 --> 00:56:51.100 align:start position:0%
consumption again generically it's only
60%<00:56:46.780><c> consumed</c><00:56:47.780><c> which</c><00:56:48.560><c> is</c><00:56:48.710><c> a</c><00:56:48.740><c> problem</c><00:56:49.510><c> we</c><00:56:50.510><c> do</c><00:56:50.660><c> 90</c>

00:56:51.100 --> 00:56:51.110 align:start position:0%
60% consumed which is a problem we do 90
 

00:56:51.110 --> 00:56:55.630 align:start position:0%
60% consumed which is a problem we do 90
percent<00:56:52.090><c> you</c><00:56:53.090><c> can</c><00:56:53.330><c> never</c><00:56:53.600><c> get</c><00:56:53.900><c> 100%</c><00:56:54.860><c> bandwidth</c>

00:56:55.630 --> 00:56:55.640 align:start position:0%
percent you can never get 100% bandwidth
 

00:56:55.640 --> 00:56:57.900 align:start position:0%
percent you can never get 100% bandwidth
consumption<00:56:56.150><c> in</c><00:56:56.420><c> real</c><00:56:56.630><c> world</c><00:56:56.900><c> applications</c>

00:56:57.900 --> 00:56:57.910 align:start position:0%
consumption in real world applications
 

00:56:57.910 --> 00:57:00.580 align:start position:0%
consumption in real world applications
it's<00:56:58.910><c> just</c><00:56:59.270><c> it's</c><00:56:59.630><c> impossible</c><00:57:00.230><c> it's</c><00:57:00.350><c> one</c><00:57:00.470><c> of</c>

00:57:00.580 --> 00:57:00.590 align:start position:0%
it's just it's impossible it's one of
 

00:57:00.590 --> 00:57:02.230 align:start position:0%
it's just it's impossible it's one of
the<00:57:00.650><c> things</c><00:57:00.770><c> GPU</c><00:57:01.190><c> architects</c><00:57:01.700><c> struggle</c><00:57:02.120><c> with</c>

00:57:02.230 --> 00:57:02.240 align:start position:0%
the things GPU architects struggle with
 

00:57:02.240 --> 00:57:05.170 align:start position:0%
the things GPU architects struggle with
so<00:57:03.020><c> that's</c><00:57:03.740><c> the</c><00:57:04.070><c> best</c><00:57:04.280><c> we're</c><00:57:04.520><c> able</c><00:57:04.640><c> to</c><00:57:04.850><c> do</c><00:57:04.970><c> to</c>

00:57:05.170 --> 00:57:05.180 align:start position:0%
so that's the best we're able to do to
 

00:57:05.180 --> 00:57:09.910 align:start position:0%
so that's the best we're able to do to
date<00:57:05.440><c> in</c><00:57:06.640><c> theory</c><00:57:07.640><c> you</c><00:57:07.940><c> could</c><00:57:08.560><c> I'm</c><00:57:09.560><c> sure</c>

00:57:09.910 --> 00:57:09.920 align:start position:0%
date in theory you could I'm sure
 

00:57:09.920 --> 00:57:13.390 align:start position:0%
date in theory you could I'm sure
there's<00:57:10.580><c> like</c><00:57:10.850><c> a</c><00:57:11.030><c> trick</c><00:57:11.420><c> and</c><00:57:12.170><c> I'll</c><00:57:12.350><c> go</c><00:57:13.010><c> noodle</c>

00:57:13.390 --> 00:57:13.400 align:start position:0%
there's like a trick and I'll go noodle
 

00:57:13.400 --> 00:57:15.010 align:start position:0%
there's like a trick and I'll go noodle
on<00:57:13.550><c> this</c><00:57:13.730><c> because</c><00:57:13.970><c> if</c><00:57:14.210><c> probe</c><00:57:14.420><c> power</c><00:57:14.660><c> does</c><00:57:14.810><c> get</c>

00:57:15.010 --> 00:57:15.020 align:start position:0%
on this because if probe power does get
 

00:57:15.020 --> 00:57:16.780 align:start position:0%
on this because if probe power does get
adopted<00:57:15.260><c> naturally</c><00:57:16.130><c> I'll</c><00:57:16.220><c> want</c><00:57:16.460><c> to</c><00:57:16.520><c> go</c><00:57:16.610><c> and</c>

00:57:16.780 --> 00:57:16.790 align:start position:0%
adopted naturally I'll want to go and
 

00:57:16.790 --> 00:57:19.240 align:start position:0%
adopted naturally I'll want to go and
break<00:57:16.910><c> it</c><00:57:17.120><c> again</c><00:57:17.440><c> I'm</c><00:57:18.440><c> sure</c><00:57:18.680><c> there's</c><00:57:18.920><c> a</c><00:57:18.980><c> 1%</c>

00:57:19.240 --> 00:57:19.250 align:start position:0%
break it again I'm sure there's a 1%
 

00:57:19.250 --> 00:57:21.250 align:start position:0%
break it again I'm sure there's a 1%
speed-up<00:57:19.940><c> you</c><00:57:20.090><c> could</c><00:57:20.270><c> get</c><00:57:20.450><c> with</c><00:57:20.690><c> some</c><00:57:20.900><c> clever</c>

00:57:21.250 --> 00:57:21.260 align:start position:0%
speed-up you could get with some clever
 

00:57:21.260 --> 00:57:24.640 align:start position:0%
speed-up you could get with some clever
tricks<00:57:21.650><c> on</c><00:57:21.830><c> the</c><00:57:21.920><c> minor</c><00:57:22.130><c> side</c><00:57:22.900><c> but</c><00:57:23.900><c> other</c><00:57:24.410><c> than</c>

00:57:24.640 --> 00:57:24.650 align:start position:0%
tricks on the minor side but other than
 

00:57:24.650 --> 00:57:26.260 align:start position:0%
tricks on the minor side but other than
that<00:57:24.710><c> yes</c><00:57:25.070><c> it</c><00:57:25.370><c> changes</c><00:57:25.760><c> your</c><00:57:25.910><c> bandwidth</c>

00:57:26.260 --> 00:57:26.270 align:start position:0%
that yes it changes your bandwidth
 

00:57:26.270 --> 00:57:28.300 align:start position:0%
that yes it changes your bandwidth
consumption<00:57:26.690><c> consumes</c><00:57:27.590><c> 90%</c><00:57:28.160><c> of</c><00:57:28.220><c> the</c>

00:57:28.300 --> 00:57:28.310 align:start position:0%
consumption consumes 90% of the
 

00:57:28.310 --> 00:57:28.720 align:start position:0%
consumption consumes 90% of the
bandwidth

00:57:28.720 --> 00:57:28.730 align:start position:0%
bandwidth
 

00:57:28.730 --> 00:57:30.480 align:start position:0%
bandwidth
that's<00:57:28.970><c> basically</c><00:57:29.600><c> what</c><00:57:29.900><c> we</c><00:57:30.020><c> mean</c><00:57:30.050><c> by</c>

00:57:30.480 --> 00:57:30.490 align:start position:0%
that's basically what we mean by
 

00:57:30.490 --> 00:57:32.920 align:start position:0%
that's basically what we mean by
bandwidth<00:57:31.490><c> utilization</c><00:57:31.700><c> that's</c><00:57:32.600><c> how</c><00:57:32.750><c> much</c>

00:57:32.920 --> 00:57:32.930 align:start position:0%
bandwidth utilization that's how much
 

00:57:32.930 --> 00:57:43.140 align:start position:0%
bandwidth utilization that's how much
bandwidth<00:57:33.290><c> is</c><00:57:33.440><c> consumed</c>

00:57:43.140 --> 00:57:43.150 align:start position:0%
 
 

00:57:43.150 --> 00:57:45.940 align:start position:0%
 
hi<00:57:44.150><c> I'm</c><00:57:44.300><c> still</c><00:57:44.570><c> thinking</c><00:57:44.960><c> about</c><00:57:44.990><c> how</c><00:57:45.560><c> to</c><00:57:45.590><c> break</c>

00:57:45.940 --> 00:57:45.950 align:start position:0%
hi I'm still thinking about how to break
 

00:57:45.950 --> 00:57:49.570 align:start position:0%
hi I'm still thinking about how to break
your<00:57:46.160><c> scheme</c><00:57:46.480><c> that's</c><00:57:47.480><c> okay</c><00:57:47.840><c> man</c><00:57:48.110><c> that's</c><00:57:48.580><c> okay</c>

00:57:49.570 --> 00:57:49.580 align:start position:0%
your scheme that's okay man that's okay
 

00:57:49.580 --> 00:57:51.760 align:start position:0%
your scheme that's okay man that's okay
I<00:57:49.610><c> wish</c><00:57:49.970><c> I</c><00:57:50.270><c> was</c><00:57:50.690><c> deaf</c><00:57:50.990><c> and</c><00:57:51.200><c> elsewhere</c><00:57:51.470><c> here</c>

00:57:51.760 --> 00:57:51.770 align:start position:0%
I wish I was deaf and elsewhere here
 

00:57:51.770 --> 00:57:53.470 align:start position:0%
I wish I was deaf and elsewhere here
even<00:57:52.070><c> if</c><00:57:52.190><c> they</c><00:57:52.310><c> were</c><00:57:52.370><c> wearing</c><00:57:52.580><c> masks</c><00:57:53.270><c> they</c>

00:57:53.470 --> 00:57:53.480 align:start position:0%
even if they were wearing masks they
 

00:57:53.480 --> 00:57:58.990 align:start position:0%
even if they were wearing masks they
love<00:57:53.750><c> you</c><00:57:55.750><c> so</c><00:57:56.750><c> I</c><00:57:57.110><c> mean</c><00:57:57.410><c> even</c><00:57:57.560><c> though</c><00:57:57.800><c> you</c><00:57:58.000><c> let's</c>

00:57:58.990 --> 00:57:59.000 align:start position:0%
love you so I mean even though you let's
 

00:57:59.000 --> 00:58:00.100 align:start position:0%
love you so I mean even though you let's
say<00:57:59.150><c> assume</c><00:57:59.450><c> you're</c><00:57:59.600><c> using</c><00:57:59.780><c> a</c><00:57:59.960><c> hundred</c>

00:58:00.100 --> 00:58:00.110 align:start position:0%
say assume you're using a hundred
 

00:58:00.110 --> 00:58:02.860 align:start position:0%
say assume you're using a hundred
percent<00:58:00.260><c> of</c><00:58:00.650><c> the</c><00:58:00.830><c> GPU</c><00:58:01.370><c> you</c><00:58:02.180><c> still</c><00:58:02.480><c> eighty</c>

00:58:02.860 --> 00:58:02.870 align:start position:0%
percent of the GPU you still eighty
 

00:58:02.870 --> 00:58:11.680 align:start position:0%
percent of the GPU you still eighty
percent<00:58:06.280><c> you</c><00:58:07.280><c> still</c><00:58:10.120><c> not</c><00:58:11.120><c> using</c><00:58:11.420><c> the</c><00:58:11.510><c> full</c>

00:58:11.680 --> 00:58:11.690 align:start position:0%
percent you still not using the full
 

00:58:11.690 --> 00:58:13.660 align:start position:0%
percent you still not using the full
flexibility<00:58:12.200><c> of</c><00:58:12.410><c> the</c><00:58:12.620><c> of</c><00:58:12.890><c> the</c><00:58:13.010><c> GPU</c><00:58:13.310><c> so</c><00:58:13.430><c> for</c>

00:58:13.660 --> 00:58:13.670 align:start position:0%
flexibility of the of the GPU so for
 

00:58:13.670 --> 00:58:15.880 align:start position:0%
flexibility of the of the GPU so for
example<00:58:14.120><c> well</c><00:58:14.510><c> why</c><00:58:14.690><c> you're</c><00:58:15.290><c> not</c><00:58:15.440><c> using</c><00:58:15.680><c> the</c>

00:58:15.880 --> 00:58:15.890 align:start position:0%
example well why you're not using the
 

00:58:15.890 --> 00:58:17.740 align:start position:0%
example well why you're not using the
full<00:58:16.100><c> flexibility</c><00:58:16.700><c> of</c><00:58:16.940><c> the</c><00:58:17.060><c> GPU</c><00:58:17.330><c> so</c><00:58:17.450><c> for</c>

00:58:17.740 --> 00:58:17.750 align:start position:0%
full flexibility of the GPU so for
 

00:58:17.750 --> 00:58:19.600 align:start position:0%
full flexibility of the GPU so for
example<00:58:18.140><c> you</c><00:58:18.650><c> know</c><00:58:18.740><c> there</c><00:58:18.890><c> will</c><00:58:19.010><c> be</c><00:58:19.070><c> a</c><00:58:19.160><c> circuit</c>

00:58:19.600 --> 00:58:19.610 align:start position:0%
example you know there will be a circuit
 

00:58:19.610 --> 00:58:21.310 align:start position:0%
example you know there will be a circuit
that<00:58:19.700><c> does</c><00:58:19.760><c> addition</c><00:58:20.480><c> and</c><00:58:20.720><c> then</c><00:58:20.810><c> a</c><00:58:20.870><c> second</c><00:58:21.110><c> as</c>

00:58:21.310 --> 00:58:21.320 align:start position:0%
that does addition and then a second as
 

00:58:21.320 --> 00:58:23.350 align:start position:0%
that does addition and then a second as
multiplication<00:58:21.710><c> and</c><00:58:22.580><c> then</c><00:58:22.760><c> you</c><00:58:22.910><c> call</c><00:58:23.180><c> them</c>

00:58:23.350 --> 00:58:23.360 align:start position:0%
multiplication and then you call them
 

00:58:23.360 --> 00:58:27.220 align:start position:0%
multiplication and then you call them
one<00:58:23.600><c> after</c><00:58:23.750><c> the</c><00:58:23.900><c> other</c><00:58:24.550><c> and</c><00:58:25.750><c> the</c><00:58:26.750><c> reason</c><00:58:27.080><c> why</c>

00:58:27.220 --> 00:58:27.230 align:start position:0%
one after the other and the reason why
 

00:58:27.230 --> 00:58:29.110 align:start position:0%
one after the other and the reason why
these<00:58:27.290><c> two</c><00:58:27.530><c> circuits</c><00:58:28.070><c> would</c><00:58:28.190><c> be</c><00:58:28.370><c> separated</c><00:58:28.820><c> in</c>

00:58:29.110 --> 00:58:29.120 align:start position:0%
these two circuits would be separated in
 

00:58:29.120 --> 00:58:31.300 align:start position:0%
these two circuits would be separated in
the<00:58:29.240><c> GPU</c><00:58:29.720><c> is</c><00:58:29.870><c> so</c><00:58:30.020><c> that</c><00:58:30.200><c> you</c><00:58:30.440><c> can</c><00:58:30.620><c> you</c><00:58:30.950><c> can</c><00:58:30.980><c> mix</c>

00:58:31.300 --> 00:58:31.310 align:start position:0%
the GPU is so that you can you can mix
 

00:58:31.310 --> 00:58:33.220 align:start position:0%
the GPU is so that you can you can mix
and<00:58:31.430><c> match</c><00:58:31.490><c> but</c><00:58:32.300><c> because</c><00:58:32.660><c> you're</c><00:58:32.840><c> calling</c>

00:58:33.220 --> 00:58:33.230 align:start position:0%
and match but because you're calling
 

00:58:33.230 --> 00:58:36.310 align:start position:0%
and match but because you're calling
them<00:58:33.410><c> in</c><00:58:33.650><c> a</c><00:58:33.740><c> specific</c><00:58:33.980><c> order</c><00:58:34.430><c> as</c><00:58:34.870><c> an</c><00:58:35.870><c> ASIC</c>

00:58:36.310 --> 00:58:36.320 align:start position:0%
them in a specific order as an ASIC
 

00:58:36.320 --> 00:58:37.750 align:start position:0%
them in a specific order as an ASIC
designer<00:58:36.650><c> what</c><00:58:37.010><c> I</c><00:58:37.040><c> could</c><00:58:37.250><c> do</c><00:58:37.400><c> is</c><00:58:37.580><c> I</c><00:58:37.700><c> could</c>

00:58:37.750 --> 00:58:37.760 align:start position:0%
designer what I could do is I could
 

00:58:37.760 --> 00:58:40.510 align:start position:0%
designer what I could do is I could
build<00:58:38.030><c> a</c><00:58:38.360><c> clever</c><00:58:39.080><c> circuit</c><00:58:39.560><c> that</c><00:58:39.710><c> does</c><00:58:39.770><c> a</c><00:58:40.130><c> and</c><00:58:40.400><c> B</c>

00:58:40.510 --> 00:58:40.520 align:start position:0%
build a clever circuit that does a and B
 

00:58:40.520 --> 00:58:43.540 align:start position:0%
build a clever circuit that does a and B
at<00:58:40.700><c> the</c><00:58:40.880><c> same</c><00:58:41.090><c> time</c><00:58:41.420><c> and</c><00:58:42.040><c> uses</c><00:58:43.040><c> less</c><00:58:43.340><c> energy</c>

00:58:43.540 --> 00:58:43.550 align:start position:0%
at the same time and uses less energy
 

00:58:43.550 --> 00:58:48.610 align:start position:0%
at the same time and uses less energy
than<00:58:44.380><c> would</c><00:58:45.380><c> be</c><00:58:45.710><c> if</c><00:58:46.130><c> you</c><00:58:46.400><c> first</c><00:58:47.440><c> use</c><00:58:48.440><c> the</c><00:58:48.590><c> a</c>

00:58:48.610 --> 00:58:48.620 align:start position:0%
than would be if you first use the a
 

00:58:48.620 --> 00:58:53.670 align:start position:0%
than would be if you first use the a
circuit<00:58:49.190><c> and</c><00:58:49.370><c> then</c><00:58:49.520><c> the</c><00:58:49.670><c> B</c><00:58:49.790><c> circuit</c><00:58:51.400><c> yes</c>

00:58:53.670 --> 00:58:53.680 align:start position:0%
circuit and then the B circuit yes
 

00:58:53.680 --> 00:58:55.780 align:start position:0%
circuit and then the B circuit yes
actually<00:58:54.680><c> that</c><00:58:54.890><c> was</c><00:58:55.220><c> something</c><00:58:55.580><c> I</c><00:58:55.640><c> was</c><00:58:55.760><c> going</c>

00:58:55.780 --> 00:58:55.790 align:start position:0%
actually that was something I was going
 

00:58:55.790 --> 00:58:58.360 align:start position:0%
actually that was something I was going
to<00:58:55.940><c> put</c><00:58:56.090><c> in</c><00:58:56.180><c> my</c><00:58:56.330><c> slides</c><00:58:56.660><c> we</c><00:58:57.020><c> use</c><00:58:57.260><c> a</c><00:58:57.340><c> again</c><00:58:58.340><c> I</c>

00:58:58.360 --> 00:58:58.370 align:start position:0%
to put in my slides we use a again I
 

00:58:58.370 --> 00:59:00.870 align:start position:0%
to put in my slides we use a again I
mentioned<00:58:58.940><c> we</c><00:58:59.030><c> use</c><00:58:59.060><c> a</c><00:58:59.240><c> barrel</c><00:58:59.690><c> rotate</c><00:59:00.380><c> shift</c>

00:59:00.870 --> 00:59:00.880 align:start position:0%
mentioned we use a barrel rotate shift
 

00:59:00.880 --> 00:59:06.580 align:start position:0%
mentioned we use a barrel rotate shift
our<00:59:01.900><c> implementation</c><00:59:02.900><c> of</c><00:59:03.880><c> rotate</c><00:59:04.880><c> is</c><00:59:05.090><c> more</c><00:59:05.590><c> GPU</c>

00:59:06.580 --> 00:59:06.590 align:start position:0%
our implementation of rotate is more GPU
 

00:59:06.590 --> 00:59:08.980 align:start position:0%
our implementation of rotate is more GPU
implementations<00:59:07.280><c> I</c><00:59:07.400><c> said</c><00:59:07.580><c> I</c><00:59:07.850><c> should</c><00:59:08.060><c> say</c><00:59:08.240><c> it's</c>

00:59:08.980 --> 00:59:08.990 align:start position:0%
implementations I said I should say it's
 

00:59:08.990 --> 00:59:11.800 align:start position:0%
implementations I said I should say it's
more<00:59:09.230><c> efficient</c><00:59:09.890><c> than</c><00:59:10.430><c> any</c><00:59:10.610><c> existing</c><00:59:10.880><c> ASIC</c><00:59:11.690><c> to</c>

00:59:11.800 --> 00:59:11.810 align:start position:0%
more efficient than any existing ASIC to
 

00:59:11.810 --> 00:59:13.570 align:start position:0%
more efficient than any existing ASIC to
date<00:59:11.990><c> and</c><00:59:12.200><c> any</c><00:59:12.590><c> existing</c><00:59:12.800><c> fixed</c><00:59:13.430><c> function</c>

00:59:13.570 --> 00:59:13.580 align:start position:0%
date and any existing fixed function
 

00:59:13.580 --> 00:59:18.070 align:start position:0%
date and any existing fixed function
hardware<00:59:14.150><c> again</c><00:59:15.050><c> GPUs</c><00:59:15.980><c> are</c><00:59:16.280><c> I</c><00:59:16.940><c> think</c><00:59:17.900><c> most</c>

00:59:18.070 --> 00:59:18.080 align:start position:0%
hardware again GPUs are I think most
 

00:59:18.080 --> 00:59:20.410 align:start position:0%
hardware again GPUs are I think most
people<00:59:18.380><c> forget</c><00:59:18.560><c> GPUs</c><00:59:19.250><c> are</c><00:59:19.430><c> really</c><00:59:19.760><c> just</c><00:59:19.940><c> Asics</c>

00:59:20.410 --> 00:59:20.420 align:start position:0%
people forget GPUs are really just Asics
 

00:59:20.420 --> 00:59:24.340 align:start position:0%
people forget GPUs are really just Asics
for<00:59:20.660><c> meth</c><00:59:20.920><c> that</c><00:59:21.920><c> is</c><00:59:22.070><c> what</c><00:59:22.280><c> a</c><00:59:22.310><c> GPU</c><00:59:22.700><c> is</c><00:59:23.000><c> so</c><00:59:23.930><c> what</c>

00:59:24.340 --> 00:59:24.350 align:start position:0%
for meth that is what a GPU is so what
 

00:59:24.350 --> 00:59:25.980 align:start position:0%
for meth that is what a GPU is so what
you're<00:59:24.470><c> specifically</c><00:59:25.130><c> referring</c><00:59:25.460><c> to</c><00:59:25.700><c> is</c><00:59:25.850><c> a</c>

00:59:25.980 --> 00:59:25.990 align:start position:0%
you're specifically referring to is a
 

00:59:25.990 --> 00:59:29.590 align:start position:0%
you're specifically referring to is a
barrel<00:59:26.990><c> shift</c><00:59:27.230><c> rotator</c><00:59:27.740><c> and</c><00:59:27.980><c> the</c><00:59:28.940><c> GPU</c><00:59:29.300><c> right</c>

00:59:29.590 --> 00:59:29.600 align:start position:0%
barrel shift rotator and the GPU right
 

00:59:29.600 --> 00:59:31.660 align:start position:0%
barrel shift rotator and the GPU right
to<00:59:29.930><c> date</c><00:59:30.140><c> is</c><00:59:30.350><c> the</c><00:59:30.530><c> most</c><00:59:30.710><c> efficient</c><00:59:31.190><c> efficient</c>

00:59:31.660 --> 00:59:31.670 align:start position:0%
to date is the most efficient efficient
 

00:59:31.670 --> 00:59:33.820 align:start position:0%
to date is the most efficient efficient
implementation<00:59:32.330><c> of</c><00:59:32.390><c> it</c><00:59:32.570><c> that's</c><00:59:33.110><c> why</c><00:59:33.290><c> when</c><00:59:33.590><c> I</c>

00:59:33.820 --> 00:59:33.830 align:start position:0%
implementation of it that's why when I
 

00:59:33.830 --> 00:59:35.710 align:start position:0%
implementation of it that's why when I
say<00:59:34.100><c> that</c><00:59:34.430><c> you</c><00:59:34.910><c> know</c><00:59:35.030><c> if</c><00:59:35.150><c> we</c><00:59:35.270><c> want</c><00:59:35.450><c> to</c><00:59:35.510><c> go</c><00:59:35.600><c> and</c>

00:59:35.710 --> 00:59:35.720 align:start position:0%
say that you know if we want to go and
 

00:59:35.720 --> 00:59:37.900 align:start position:0%
say that you know if we want to go and
make<00:59:35.870><c> a</c><00:59:35.930><c> probe</c><00:59:36.560><c> by</c><00:59:36.740><c> a</c><00:59:36.920><c> sikh</c><00:59:37.160><c> it</c><00:59:37.310><c> just</c><00:59:37.580><c> ends</c><00:59:37.850><c> up</c>

00:59:37.900 --> 00:59:37.910 align:start position:0%
make a probe by a sikh it just ends up
 

00:59:37.910 --> 00:59:40.030 align:start position:0%
make a probe by a sikh it just ends up
mimicking<00:59:38.360><c> making</c><00:59:39.050><c> a</c><00:59:39.140><c> GPU</c><00:59:39.470><c> because</c><00:59:39.740><c> you</c><00:59:39.830><c> just</c>

00:59:40.030 --> 00:59:40.040 align:start position:0%
mimicking making a GPU because you just
 

00:59:40.040 --> 00:59:42.400 align:start position:0%
mimicking making a GPU because you just
mimic<00:59:40.310><c> that</c><00:59:40.460><c> i'd</c><00:59:41.270><c> love</c><00:59:41.510><c> to</c><00:59:41.540><c> touch</c><00:59:41.780><c> more</c>

00:59:42.400 --> 00:59:42.410 align:start position:0%
mimic that i'd love to touch more
 

00:59:42.410 --> 00:59:44.170 align:start position:0%
mimic that i'd love to touch more
you<00:59:42.530><c> after</c><00:59:42.859><c> this</c><00:59:43.010><c> on</c><00:59:43.190><c> that</c><00:59:43.309><c> actually</c><00:59:43.700><c> because</c>

00:59:44.170 --> 00:59:44.180 align:start position:0%
you after this on that actually because
 

00:59:44.180 --> 00:59:46.059 align:start position:0%
you after this on that actually because
I<00:59:44.210><c> have</c><00:59:44.420><c> a</c><00:59:44.450><c> write-up</c><00:59:44.869><c> on</c><00:59:45.020><c> that</c><00:59:45.230><c> because</c><00:59:45.740><c> we</c><00:59:45.829><c> got</c>

00:59:46.059 --> 00:59:46.069 align:start position:0%
I have a write-up on that because we got
 

00:59:46.069 --> 00:59:48.309 align:start position:0%
I have a write-up on that because we got
that<00:59:46.099><c> question</c><00:59:46.640><c> asked</c><00:59:46.940><c> a</c><00:59:46.970><c> lot</c><00:59:47.180><c> from</c><00:59:47.510><c> an</c><00:59:47.780><c> FPGA</c>

00:59:48.309 --> 00:59:48.319 align:start position:0%
that question asked a lot from an FPGA
 

00:59:48.319 --> 00:59:51.880 align:start position:0%
that question asked a lot from an FPGA
developer<00:59:49.839><c> who</c><00:59:50.839><c> was</c><00:59:51.049><c> who</c><00:59:51.319><c> was</c><00:59:51.349><c> talking</c><00:59:51.799><c> about</c>

00:59:51.880 --> 00:59:51.890 align:start position:0%
developer who was who was talking about
 

00:59:51.890 --> 00:59:53.710 align:start position:0%
developer who was who was talking about
putting<00:59:52.309><c> in</c><00:59:52.579><c> square</c><00:59:52.910><c> roots</c><00:59:53.119><c> and</c><00:59:53.299><c> other</c><00:59:53.420><c> things</c>

00:59:53.710 --> 00:59:53.720 align:start position:0%
putting in square roots and other things
 

00:59:53.720 --> 01:00:03.549 align:start position:0%
putting in square roots and other things
into<00:59:53.990><c> propel</c><00:59:54.760><c> so</c><01:00:01.059><c> I'm</c><01:00:02.059><c> done</c><01:00:02.359><c> you're</c><01:00:02.960><c> releasing</c>

01:00:03.549 --> 01:00:03.559 align:start position:0%
into propel so I'm done you're releasing
 

01:00:03.559 --> 01:00:15.340 align:start position:0%
into propel so I'm done you're releasing
me<01:00:03.829><c> from</c><01:00:03.859><c> my</c><01:00:04.130><c> prison</c>

01:00:15.340 --> 01:00:15.350 align:start position:0%
 
 

01:00:15.350 --> 01:00:17.410 align:start position:0%
 
you

