Designing better semiconductor chips: NP hard problems and forever chemicals

Physics World Weekly Podcast

Like any major endeavour, designing and fabricating semiconductor chips requires compromise. As well as trade-offs between cost and performance, designers also consider carbon emissions and other environmental impacts.

In this episode of the Physics World Weekly podcast, Margaret Harris reports from the Heidelberg Laureate Forum where she spoke to two researchers who are focused on some of these design challenges.

Up first is Mariam Elgamal, who’s doing a PhD at Harvard University on the development of environmentally sustainable computing systems. She explains why sustainability goes well beyond energy efficiency and must consider the manufacturing process and the chemicals used therein.

Harris also chats with Andrew Gunter, who is doing a PhD at the University of British Columbia on circuit design for computer chips. He talks about the maths-related problems that must be solved in order to translate a desired functionality into a chip that can be fabricated.

 

2025-11-13 40 min Transcript

Available Results

Generated results are saved to the knowledge database for reuse and search.

No generated results are available for this episode yet.

Extract Knowledge

Pick what you want extracted first. Model, scope, and chapter options appear after a template is selected.

Generated results for public episodes are saved to the knowledge database so they can be reused and searched later.

Transcript

1
00:00:07,919 --> 00:00:10,719
Hello, and welcome to the Physics World weekly

2
00:00:10,719 --> 00:00:12,740
podcast. I'm Hamish Johnston.

3
00:00:13,294 --> 00:00:15,695
In this episode, I'm joined by my colleague

4
00:00:15,695 --> 00:00:16,835
Margaret Harris,

5
00:00:17,135 --> 00:00:19,934
who's recorded a series of interviews for the

6
00:00:19,934 --> 00:00:20,434
podcast

7
00:00:20,734 --> 00:00:22,435
at this year's Heidelberg

8
00:00:22,894 --> 00:00:24,114
Laureate Forum.

9
00:00:24,574 --> 00:00:26,675
We're going to hear two of those conversations

10
00:00:27,054 --> 00:00:27,554
shortly,

11
00:00:27,969 --> 00:00:30,869
which both focus on the challenges of designing

12
00:00:31,089 --> 00:00:31,910
and developing

13
00:00:32,450 --> 00:00:33,509
computer chips.

14
00:00:34,049 --> 00:00:36,229
Hi, Margaret. Welcome to the podcast.

15
00:00:36,770 --> 00:00:37,590
Hi, Hamish.

16
00:00:38,289 --> 00:00:40,530
Margaret, before we hear those interviews, can you

17
00:00:40,530 --> 00:00:42,869
tell us a little bit about the Heidelberg

18
00:00:43,090 --> 00:00:44,075
Laureate Forum?

19
00:00:44,935 --> 00:00:47,094
Yeah. So the Heidelberg Laureate Forum is a

20
00:00:47,094 --> 00:00:49,435
scientific meeting that's held every year in Heidelberg,

21
00:00:49,575 --> 00:00:52,375
Germany, hence the name. And its aim is

22
00:00:52,375 --> 00:00:55,354
to foster connections between notable figures in computer

23
00:00:55,414 --> 00:00:56,554
science and mathematics,

24
00:00:57,469 --> 00:00:59,630
and then with early career researchers from around

25
00:00:59,630 --> 00:01:00,289
the world.

26
00:01:00,750 --> 00:01:03,229
It's modeled on the Lindau Nobel Laureate meeting,

27
00:01:03,229 --> 00:01:05,390
which does something similar for the Nobel Prize

28
00:01:05,390 --> 00:01:07,810
granting fields of medicine, physics, and chemistry,

29
00:01:08,269 --> 00:01:10,750
but there's no Nobel Prize for computer science

30
00:01:10,750 --> 00:01:13,185
or for mathematics. So instead, the laureates who

31
00:01:13,185 --> 00:01:16,064
come to Heidelberg have won major awards such

32
00:01:16,064 --> 00:01:18,224
as the Abel Prize and the Fields Medal

33
00:01:18,224 --> 00:01:18,804
in Mathematics

34
00:01:19,424 --> 00:01:22,144
or the ACM AM Turing Award for computer

35
00:01:22,144 --> 00:01:22,644
science.

36
00:01:23,504 --> 00:01:25,024
I I have to say, Margaret, I'm a

37
00:01:25,024 --> 00:01:27,379
bit ignorant of of both mathematics

38
00:01:27,840 --> 00:01:31,539
and computer science as sort of academic fields.

39
00:01:31,920 --> 00:01:34,159
Is is there a lot of crossover between

40
00:01:34,159 --> 00:01:35,759
those two? I mean I mean, I would

41
00:01:35,759 --> 00:01:38,974
have assumed so, but, I could be wrong.

42
00:01:38,974 --> 00:01:40,655
Yeah. I mean, you know, obviously, these are

43
00:01:40,655 --> 00:01:42,814
two fields that are very closely related to

44
00:01:42,814 --> 00:01:43,775
physics, and,

45
00:01:44,174 --> 00:01:46,194
so I would say that there is simultaneously

46
00:01:47,375 --> 00:01:49,534
less and more overlap between the two and

47
00:01:49,534 --> 00:01:51,155
with physics than you might think.

48
00:01:52,010 --> 00:01:54,010
So several of the computer scientists I spoke

49
00:01:54,010 --> 00:01:56,010
to during the format, which I attended back

50
00:01:56,010 --> 00:01:56,750
in September,

51
00:01:57,290 --> 00:01:59,129
they said that that being there and talking

52
00:01:59,129 --> 00:01:59,790
to mathematicians

53
00:02:00,250 --> 00:02:01,770
had actually convinced them that they need to

54
00:02:01,770 --> 00:02:02,750
learn more math

55
00:02:03,049 --> 00:02:05,290
before they can make a useful contribution to

56
00:02:05,290 --> 00:02:05,790
future

57
00:02:06,484 --> 00:02:07,844
discussions. And I would sort of back that

58
00:02:07,844 --> 00:02:08,965
up. You know, I spoke to a couple

59
00:02:08,965 --> 00:02:11,284
of pure mathematicians there who told me what

60
00:02:11,284 --> 00:02:12,645
they're working on, and I was like, I

61
00:02:12,645 --> 00:02:14,985
understand one word and three of those things.

62
00:02:15,284 --> 00:02:17,145
So, you know, you can't have

63
00:02:17,444 --> 00:02:18,724
much of a discussion if you don't have

64
00:02:18,724 --> 00:02:20,645
a common vocabulary. So I think there is

65
00:02:20,645 --> 00:02:21,509
some work there. And

66
00:02:22,229 --> 00:02:22,949
And I'm sure, you know, there are mathematicians

67
00:02:22,949 --> 00:02:24,870
who felt the same way about computer scientists.

68
00:02:24,870 --> 00:02:26,069
You know, it's not as if it's a

69
00:02:26,069 --> 00:02:27,289
one way street there.

70
00:02:27,829 --> 00:02:29,189
But that said, a lot of talks at

71
00:02:29,189 --> 00:02:31,509
this year's forum focused on machine learning and

72
00:02:31,509 --> 00:02:32,409
artificial intelligence

73
00:02:32,709 --> 00:02:33,530
or AI,

74
00:02:34,165 --> 00:02:36,645
which is having major impacts on so many

75
00:02:36,645 --> 00:02:38,805
areas of science, including physics as well as

76
00:02:38,805 --> 00:02:41,925
mathematics and computer science. And there's definitely some

77
00:02:41,925 --> 00:02:43,145
common ground there.

78
00:02:43,444 --> 00:02:44,885
And then, of course, there's a whole branch

79
00:02:44,885 --> 00:02:48,449
of mathematics specifically dedicated to computer science. You

80
00:02:48,610 --> 00:02:49,729
know, if you think back to the middle

81
00:02:49,729 --> 00:02:52,610
of the twentieth century when computer science was

82
00:02:52,610 --> 00:02:53,509
getting its start,

83
00:02:54,050 --> 00:02:56,129
you had work by scientists like John von

84
00:02:56,129 --> 00:02:58,229
Neumann and, of course, Alan Turing himself,

85
00:02:58,530 --> 00:03:00,209
you know, really laying the foundations of the

86
00:03:00,209 --> 00:03:01,989
field. So it's definitely a lot of crossover

87
00:03:02,050 --> 00:03:03,830
even if it's not complete overlap.

88
00:03:04,465 --> 00:03:06,245
So you you mentioned the Lindau

89
00:03:06,544 --> 00:03:07,044
meetings.

90
00:03:07,504 --> 00:03:10,064
I I went to one many years ago,

91
00:03:10,064 --> 00:03:12,385
and and I thought it was fantastic. And

92
00:03:12,385 --> 00:03:14,544
it was fantastic because of the people who

93
00:03:14,544 --> 00:03:16,724
were there. You had Nobel laureates,

94
00:03:17,185 --> 00:03:19,490
on one hand, and then you had lots

95
00:03:19,490 --> 00:03:22,710
of, well, students and early career people there

96
00:03:22,770 --> 00:03:25,170
sort of mixing and chatting. And, you know,

97
00:03:25,170 --> 00:03:26,849
I thought it was a really it was

98
00:03:26,849 --> 00:03:27,830
a really dynamic

99
00:03:28,129 --> 00:03:28,629
event.

100
00:03:29,170 --> 00:03:31,170
So so who is in in Heidelberg? Is

101
00:03:31,170 --> 00:03:32,930
it the the sort of same idea of

102
00:03:33,615 --> 00:03:35,615
Yeah. Very much so. So the laureates of

103
00:03:35,615 --> 00:03:38,254
this year's forum included, Vint Cerf, who's known

104
00:03:38,254 --> 00:03:40,094
as the father of the Internet, with his

105
00:03:40,094 --> 00:03:42,655
role in developing the TCP ISP system used

106
00:03:42,655 --> 00:03:43,395
in email.

107
00:03:44,094 --> 00:03:45,854
I wrote a blog post for Physics World

108
00:03:45,854 --> 00:03:48,700
about Cerf's talk at the forum on the

109
00:03:49,000 --> 00:03:51,240
on the longevity of digital information, and you

110
00:03:51,240 --> 00:03:52,939
can read it on the Physics World website.

111
00:03:53,879 --> 00:03:55,659
Other people I met there were the cryptographers,

112
00:03:55,879 --> 00:03:58,439
Whitfield Diffie and Martin Hellman, who pioneered the

113
00:03:58,439 --> 00:04:01,305
public key cryptography method that's used to keep

114
00:04:01,444 --> 00:04:03,844
all your data secure online, especially actually, there

115
00:04:03,924 --> 00:04:05,685
there's also the RSA algorithm, which is a

116
00:04:05,685 --> 00:04:07,525
big part of it. But Whitfield, Diffie, and

117
00:04:07,525 --> 00:04:08,884
Martin Hellman were the ones who were at

118
00:04:08,884 --> 00:04:09,944
this particular conference.

119
00:04:10,724 --> 00:04:12,164
And then as you said, there's the early

120
00:04:12,164 --> 00:04:15,050
career researchers. And at the Heidelberg Laureate Forum,

121
00:04:15,050 --> 00:04:17,129
they were a hugely diverse bunch. You know,

122
00:04:17,129 --> 00:04:19,290
they came from all over the world and

123
00:04:19,290 --> 00:04:21,310
ranging from undergraduate students to postdocs.

124
00:04:22,250 --> 00:04:24,009
They have to apply to attend, and it

125
00:04:24,009 --> 00:04:26,750
must be a pretty rigorous application process because

126
00:04:27,375 --> 00:04:29,774
everyone I met was just great fun to

127
00:04:29,774 --> 00:04:32,435
talk to. They're really impressive in their enthusiasm

128
00:04:32,654 --> 00:04:34,974
for the research and actually very good explain

129
00:04:35,055 --> 00:04:37,375
at explaining it, even to a physicist like

130
00:04:37,375 --> 00:04:39,134
me who doesn't come from a really strong

131
00:04:39,134 --> 00:04:41,074
computational or mathematical background.

132
00:04:41,910 --> 00:04:44,889
And Margaret, we've got two, of your conversations,

133
00:04:45,670 --> 00:04:47,529
queued up and ready to go,

134
00:04:48,389 --> 00:04:49,610
later in the podcast.

135
00:04:49,990 --> 00:04:51,769
Who who did you speak to?

136
00:04:52,230 --> 00:04:54,470
So my goal at the Heidelberg Laureate Forum

137
00:04:54,470 --> 00:04:56,224
was to find out more about the aspects

138
00:04:56,224 --> 00:04:58,704
of computer science and mathematics that relate most

139
00:04:58,704 --> 00:05:00,404
closely to physics or,

140
00:05:00,865 --> 00:05:02,224
to put it in a slightly different way,

141
00:05:02,224 --> 00:05:03,745
the ones that are of most interest to

142
00:05:03,745 --> 00:05:04,245
physicists.

143
00:05:04,784 --> 00:05:06,224
And with that in mind, I spoke to

144
00:05:06,224 --> 00:05:09,425
two PhD students whose research focuses in different

145
00:05:09,425 --> 00:05:09,925
ways

146
00:05:10,579 --> 00:05:12,339
on kind of the nitty gritty factors that

147
00:05:12,339 --> 00:05:14,680
go in designing and developing computer chips.

148
00:05:15,220 --> 00:05:17,939
And these computer chips obviously play hugely important

149
00:05:17,939 --> 00:05:20,740
roles in many aspects of physicists' lives, whether

150
00:05:20,740 --> 00:05:22,500
that's making your own chips as part of

151
00:05:22,500 --> 00:05:25,375
a scientific prototyping process or even just, you

152
00:05:25,375 --> 00:05:27,154
know, owning consumer electronics.

153
00:05:27,694 --> 00:05:29,475
It goes the whole gamut there.

154
00:05:30,415 --> 00:05:31,855
And so who who are we going to

155
00:05:31,855 --> 00:05:32,834
hear from first?

156
00:05:33,375 --> 00:05:35,055
Okay. So first up, we'll be hearing from

157
00:05:35,055 --> 00:05:37,855
Maryam Elgamal, who's doing a PhD at Harvard

158
00:05:37,855 --> 00:05:39,154
University in The US.

159
00:05:39,569 --> 00:05:42,149
She's working on the design of environmentally sustainable

160
00:05:42,210 --> 00:05:43,189
computing systems,

161
00:05:43,649 --> 00:05:45,569
and I began by asking her what got

162
00:05:45,569 --> 00:05:47,029
her interested in this field.

163
00:05:55,384 --> 00:05:57,004
First, thank you for having me.

164
00:05:57,464 --> 00:05:58,985
I think what really got me into the

165
00:05:58,985 --> 00:06:01,485
field, I was I came into my PhD

166
00:06:01,785 --> 00:06:03,544
not really knowing what I wanted to work

167
00:06:03,544 --> 00:06:05,384
on. I just knew that I really liked

168
00:06:05,384 --> 00:06:05,884
computing,

169
00:06:06,264 --> 00:06:08,264
and I was just exploring different kind of

170
00:06:08,264 --> 00:06:11,089
projects. And I was lucky, I guess, because

171
00:06:11,089 --> 00:06:13,250
my advisers were just, like, giving me all

172
00:06:13,250 --> 00:06:15,009
of these different kind of projects that are

173
00:06:15,009 --> 00:06:17,329
available. And one of them really stuck out

174
00:06:17,329 --> 00:06:19,729
to me, which was the looking at, like,

175
00:06:19,729 --> 00:06:22,529
environmentally sustainable computing systems and and the the

176
00:06:22,529 --> 00:06:24,310
environmental impact. And I

177
00:06:24,714 --> 00:06:27,375
have always had an interest in environmental sustainability,

178
00:06:28,235 --> 00:06:30,095
even, like, prior to my undergraduate

179
00:06:30,555 --> 00:06:31,055
degree.

180
00:06:31,435 --> 00:06:33,834
And it was just this one project stuck

181
00:06:33,834 --> 00:06:35,194
out to me, and I started working on

182
00:06:35,194 --> 00:06:36,175
it with a senior

183
00:06:36,714 --> 00:06:38,714
student at the time. I was currently a

184
00:06:38,714 --> 00:06:39,214
professor,

185
00:06:40,020 --> 00:06:40,759
at Cornell,

186
00:06:41,220 --> 00:06:41,960
Udut Gupta.

187
00:06:42,660 --> 00:06:44,180
And so I started working with him and

188
00:06:44,180 --> 00:06:46,360
I really enjoyed that project and then just

189
00:06:46,660 --> 00:06:48,500
decided to continue in that area for the

190
00:06:48,500 --> 00:06:50,100
rest of my PhD. And now I'm in

191
00:06:50,100 --> 00:06:52,899
my fifth year still working on designing computing

192
00:06:52,899 --> 00:06:54,600
systems for environmental sustainability.

193
00:06:55,134 --> 00:06:57,134
I think what's really also exciting about this

194
00:06:57,134 --> 00:07:00,334
area is how it's an emerging research area.

195
00:07:00,334 --> 00:07:02,895
So it's pretty new compared to other areas

196
00:07:02,895 --> 00:07:05,154
in like hardware design or computer architecture.

197
00:07:05,615 --> 00:07:07,615
And so that also gets me really excited

198
00:07:07,615 --> 00:07:09,600
to just like, there's so much potential, so

199
00:07:09,839 --> 00:07:10,959
many things that we can do and so

200
00:07:10,959 --> 00:07:12,420
many things that we need to explore.

201
00:07:12,800 --> 00:07:16,000
What does sustainability mean for computing systems? What

202
00:07:16,000 --> 00:07:17,520
are the main things you need to consider

203
00:07:17,520 --> 00:07:20,420
when you're evaluating how sustainable a computer system

204
00:07:20,480 --> 00:07:20,980
is?

205
00:07:21,600 --> 00:07:23,060
So when it comes to

206
00:07:23,495 --> 00:07:26,134
sustainability for computing, there are multiple aspects for

207
00:07:26,134 --> 00:07:26,634
it.

208
00:07:27,334 --> 00:07:27,834
Traditionally,

209
00:07:28,214 --> 00:07:29,914
when we design computing systems,

210
00:07:30,774 --> 00:07:32,935
it has always been like the primary metrics

211
00:07:32,935 --> 00:07:34,694
that we would look at are like power,

212
00:07:34,694 --> 00:07:35,914
performance area.

213
00:07:36,329 --> 00:07:37,930
And, like, in the past two decades, there

214
00:07:37,930 --> 00:07:39,069
has been so much

215
00:07:39,449 --> 00:07:40,669
work and so much

216
00:07:40,970 --> 00:07:42,970
progress when it comes to the energy efficiency

217
00:07:42,970 --> 00:07:44,810
of computing systems. So how can we design

218
00:07:44,810 --> 00:07:46,110
computing systems that

219
00:07:46,410 --> 00:07:48,410
deliver the most work or the highest performance

220
00:07:48,410 --> 00:07:50,569
with the minimal energy possible? So there has

221
00:07:50,569 --> 00:07:52,029
been a lot of work in the area.

222
00:07:52,144 --> 00:07:53,985
But when it comes to the actual, like,

223
00:07:53,985 --> 00:07:56,785
sustainability of a computing system, it's not only

224
00:07:56,785 --> 00:07:58,004
about energy efficiency.

225
00:07:58,384 --> 00:08:00,225
It's also about, like, looking at the total

226
00:08:00,225 --> 00:08:02,064
carbon of the computing system. And what that

227
00:08:02,064 --> 00:08:04,705
means is that we're looking at the carbon

228
00:08:04,705 --> 00:08:07,019
footprint due to the use. So you can

229
00:08:07,019 --> 00:08:08,939
think that energy efficiency is a subset of

230
00:08:08,939 --> 00:08:10,779
that, but also we want to look at

231
00:08:10,779 --> 00:08:12,779
the carbon footprint due to the manufacturing of

232
00:08:12,779 --> 00:08:14,939
the system itself. And what we're finding is

233
00:08:14,939 --> 00:08:17,279
that the carbon footprint of computing systems

234
00:08:17,740 --> 00:08:20,220
from a manufacturing perspective can actually be a

235
00:08:20,220 --> 00:08:21,919
huge portion of the carbon footprint.

236
00:08:22,404 --> 00:08:23,925
It up it depends on the domain. So

237
00:08:23,925 --> 00:08:25,285
if you're looking at a data center, it

238
00:08:25,285 --> 00:08:27,544
could look like 50% of the carbon footprint

239
00:08:27,604 --> 00:08:31,125
is due to, like, the operational carbon, so

240
00:08:31,125 --> 00:08:34,289
use. And the other 50%, around 50% is

241
00:08:34,370 --> 00:08:36,629
going to be due to the actual manufacturing

242
00:08:36,690 --> 00:08:38,769
and the infrastructure of the data center. When

243
00:08:38,769 --> 00:08:41,169
you're looking at something like mobile devices or,

244
00:08:41,169 --> 00:08:44,129
like, more broad like, more broadly speaking, consumer

245
00:08:44,129 --> 00:08:47,350
devices, that would more look like 75%

246
00:08:47,735 --> 00:08:48,475
being manufacturing.

247
00:08:49,254 --> 00:08:52,294
And so that's something that hardware designers and

248
00:08:52,294 --> 00:08:55,574
computer engineers haven't typically looked at. And we're

249
00:08:55,574 --> 00:08:58,235
really trying to see how we can consider

250
00:08:58,454 --> 00:09:01,009
this total carbon and trade that off with

251
00:09:01,009 --> 00:09:03,409
all of these other conventional metrics of power,

252
00:09:03,409 --> 00:09:04,549
performance, area,

253
00:09:04,929 --> 00:09:07,429
and costs that have been traditionally done. So,

254
00:09:07,970 --> 00:09:09,830
this is how we're looking at the sustainability.

255
00:09:09,970 --> 00:09:12,529
And there are other aspects of sustainability beyond

256
00:09:12,529 --> 00:09:14,690
carbon footprint that some people had that we're

257
00:09:14,690 --> 00:09:16,664
starting to explore. And some people have also

258
00:09:16,985 --> 00:09:19,704
explored in other places, which is, like, water

259
00:09:19,704 --> 00:09:22,504
consumption, whether that's in the fabrication or, like,

260
00:09:22,504 --> 00:09:24,264
if you're using that for, like, cooling a

261
00:09:24,264 --> 00:09:26,985
data center. Another thing that I'm also looking

262
00:09:26,985 --> 00:09:29,644
at is, like, the forever chemicals,

263
00:09:30,480 --> 00:09:31,539
more like colloquially

264
00:09:32,159 --> 00:09:34,320
would be called forever chemicals, but it's also

265
00:09:34,320 --> 00:09:36,419
called PFAS, which is the pro and polyfluorocal

266
00:09:36,720 --> 00:09:37,220
substances.

267
00:09:38,399 --> 00:09:40,320
So the problem with these chemicals is that

268
00:09:40,320 --> 00:09:41,139
they're synthetic

269
00:09:41,519 --> 00:09:42,019
and

270
00:09:42,559 --> 00:09:44,445
that makes them very bioaccumulative.

271
00:09:45,544 --> 00:09:47,945
Sometimes toxic, sometimes not. And it's a very

272
00:09:47,945 --> 00:09:49,164
broad class of chemicals.

273
00:09:49,625 --> 00:09:51,804
And they're very much widely used in semiconductor

274
00:09:52,024 --> 00:09:54,745
manufacturing. They're pretty much almost in every like,

275
00:09:54,745 --> 00:09:57,779
used for every single integrated circuit manufacturing and

276
00:09:57,779 --> 00:09:58,839
fabrication process.

277
00:09:59,299 --> 00:10:00,899
Not in every single process, but it is

278
00:10:00,899 --> 00:10:03,559
used to make the actual integrated circuit.

279
00:10:03,940 --> 00:10:05,940
And so we're looking at how we can

280
00:10:05,940 --> 00:10:08,339
quantify that, which turns out to be even

281
00:10:08,339 --> 00:10:10,199
harder than cover for carbon footprint.

282
00:10:10,535 --> 00:10:12,295
And then also how we can start, like,

283
00:10:12,295 --> 00:10:14,695
looking at techniques to start optimizing that and

284
00:10:14,695 --> 00:10:15,674
reducing it.

285
00:10:15,975 --> 00:10:17,355
So that's like sustainability

286
00:10:17,735 --> 00:10:19,894
from a high level perspective when it comes

287
00:10:19,894 --> 00:10:20,554
to computing.

288
00:10:21,335 --> 00:10:23,915
You talk about making computing systems more sustainable.

289
00:10:24,295 --> 00:10:26,154
What would that actually look like in practice?

290
00:10:26,549 --> 00:10:28,789
What are some things that manufacturers or people

291
00:10:28,789 --> 00:10:31,350
who run data centers, even consumers who have

292
00:10:31,350 --> 00:10:33,190
phones, what are some of the things we

293
00:10:33,190 --> 00:10:35,370
could do to make that more sustainable?

294
00:10:36,389 --> 00:10:38,570
So I like to think about sustainability

295
00:10:39,029 --> 00:10:39,750
from two

296
00:10:40,504 --> 00:10:42,345
I like to classify it in two separate

297
00:10:42,345 --> 00:10:42,845
ways.

298
00:10:43,225 --> 00:10:45,464
One is the quantification aspect and one is

299
00:10:45,464 --> 00:10:47,644
the optimization aspect. So

300
00:10:47,945 --> 00:10:49,625
first tip for us to be able to

301
00:10:49,625 --> 00:10:51,625
know how much we need to reduce or

302
00:10:51,625 --> 00:10:53,544
optimize something, we need to measure it and

303
00:10:53,544 --> 00:10:55,559
we need to quantify it. So a lot

304
00:10:55,559 --> 00:10:57,480
of work has been happening in the past

305
00:10:57,480 --> 00:10:59,879
few years on, like, how can we quantify

306
00:10:59,879 --> 00:11:01,820
the carbon footprint of computing systems?

307
00:11:02,120 --> 00:11:03,720
So talking about what is like, what is

308
00:11:03,800 --> 00:11:05,639
how much is like going to manufacturing? How

309
00:11:05,639 --> 00:11:06,940
much is going to operational?

310
00:11:07,240 --> 00:11:09,240
And then the next part is, okay, how

311
00:11:09,240 --> 00:11:10,620
can we also optimize

312
00:11:11,215 --> 00:11:13,774
these systems? So maybe, like, should we be

313
00:11:13,774 --> 00:11:14,514
using, like,

314
00:11:14,894 --> 00:11:16,894
GPUs or should we be using CPUs in

315
00:11:16,894 --> 00:11:18,335
a data center and, like, in a more

316
00:11:18,335 --> 00:11:20,414
nuanced kind of context and depending obviously on

317
00:11:20,414 --> 00:11:22,254
the applications that you're running in your data

318
00:11:22,254 --> 00:11:22,754
center?

319
00:11:23,269 --> 00:11:26,070
Something, for example, for, like, PFAS, it could

320
00:11:26,070 --> 00:11:28,570
be more, can we reduce the number of

321
00:11:29,110 --> 00:11:31,210
metal layers that you're using to manufacture

322
00:11:31,669 --> 00:11:33,529
an integrated circuit? So

323
00:11:33,910 --> 00:11:36,054
that's, like, just for context, it's like you

324
00:11:36,295 --> 00:11:37,654
when you make a chip, you have your

325
00:11:37,654 --> 00:11:40,134
transistors, and then you start manufacturing, like, mental

326
00:11:40,134 --> 00:11:41,995
layers where you start doing the routing,

327
00:11:42,695 --> 00:11:44,855
to connect these transistors together so that you

328
00:11:44,855 --> 00:11:48,315
can your chip can actually work. And so,

329
00:11:48,375 --> 00:11:51,389
typically, like, these PFAS are included almost in

330
00:11:51,389 --> 00:11:53,470
every single step to do, like, the what

331
00:11:53,470 --> 00:11:54,450
is called the photolithography.

332
00:11:54,909 --> 00:11:57,389
So the patterning of the actual, like, routing

333
00:11:57,389 --> 00:12:00,589
in the circuit on the, chip. And so

334
00:12:00,589 --> 00:12:02,350
if we can reduce this number of metal

335
00:12:02,350 --> 00:12:04,269
layers, maybe that's one thing that we can

336
00:12:04,269 --> 00:12:07,184
also reduce the forever chemicals or PFAS with

337
00:12:07,184 --> 00:12:08,485
that are used in manufacturing.

338
00:12:09,264 --> 00:12:12,004
Fabrication facilities have started looking into

339
00:12:12,625 --> 00:12:15,264
how they can reduce, like, recycle maybe some

340
00:12:15,264 --> 00:12:17,345
of the water that they're using. Some have

341
00:12:17,345 --> 00:12:19,184
looked into recycling some of the metals that

342
00:12:19,184 --> 00:12:19,679
they

343
00:12:20,000 --> 00:12:22,820
use. So for example, I think, Taiwan Semiconductor

344
00:12:23,039 --> 00:12:23,539
Manufacturing,

345
00:12:24,320 --> 00:12:24,820
TSMC,

346
00:12:25,440 --> 00:12:28,639
they have worked in on basically recycling the

347
00:12:28,639 --> 00:12:30,899
copper that they're using in the manufacturing

348
00:12:31,440 --> 00:12:34,565
and then taking it, recycling it, not necessarily

349
00:12:34,705 --> 00:12:37,985
into electronic grade copper, which is a challenge

350
00:12:37,985 --> 00:12:41,125
because the materials that you typically use for

351
00:12:41,745 --> 00:12:44,144
electronics or semiconductor manufacturing need to be very

352
00:12:44,144 --> 00:12:44,884
high purity.

353
00:12:45,330 --> 00:12:47,410
But instead of having to recycle it back

354
00:12:47,410 --> 00:12:49,170
into the same fab like, to use it

355
00:12:49,170 --> 00:12:51,090
in the same fabrication facility, you can recycle

356
00:12:51,090 --> 00:12:52,850
it and then give it to some other

357
00:12:52,850 --> 00:12:54,450
industry that may not need that kind of

358
00:12:54,450 --> 00:12:57,269
higher purity copper that you may need.

359
00:12:57,730 --> 00:13:00,394
It can also be utilized elsewhere and still

360
00:13:00,695 --> 00:13:02,634
benefit the whole sustainable sustainability

361
00:13:02,935 --> 00:13:05,975
aspect. Making copper wires or copper roofs or

362
00:13:05,975 --> 00:13:08,535
something like that. Exactly. Yeah. And so these

363
00:13:08,535 --> 00:13:09,355
kind of things.

364
00:13:11,415 --> 00:13:13,370
I guess any change is going to involve

365
00:13:13,370 --> 00:13:15,370
some level of cost in terms of going

366
00:13:15,370 --> 00:13:17,230
from old technologies to new ones.

367
00:13:17,610 --> 00:13:20,809
And traditionally in engineering, you can basically there's

368
00:13:20,809 --> 00:13:23,470
this three way trade off between being cheap,

369
00:13:23,769 --> 00:13:26,009
being fast, and being high quality, you know,

370
00:13:26,009 --> 00:13:27,629
and you get to pick only two.

371
00:13:28,375 --> 00:13:30,134
Are those kinds of trade offs also going

372
00:13:30,134 --> 00:13:30,954
on in the sustainability

373
00:13:31,334 --> 00:13:34,534
sector? Like, is sustainability maybe one of those

374
00:13:34,534 --> 00:13:35,894
criteria that you have to pick just a

375
00:13:35,894 --> 00:13:38,294
limited number of them? It really depends on

376
00:13:38,294 --> 00:13:40,394
the domain and really depends on the application.

377
00:13:41,009 --> 00:13:43,730
There are cases when you find computing systems

378
00:13:43,730 --> 00:13:45,269
that like, the

379
00:13:45,649 --> 00:13:48,529
energy efficient and the highest performing system could

380
00:13:48,529 --> 00:13:50,309
also be the carbon efficient system.

381
00:13:51,009 --> 00:13:53,250
But in other cases, you may find that,

382
00:13:53,250 --> 00:13:54,309
oh, it's actually

383
00:13:54,690 --> 00:13:56,975
the opposite. So it's like, pick which one

384
00:13:56,975 --> 00:13:58,894
you want. And so this whole trade off

385
00:13:58,894 --> 00:14:00,815
space is something that is very exciting to

386
00:14:00,815 --> 00:14:02,654
me in in in my research area, which

387
00:14:02,654 --> 00:14:04,815
is how can we trade this off? And

388
00:14:04,815 --> 00:14:06,975
that really depends on what your target is

389
00:14:06,975 --> 00:14:07,714
as a designer.

390
00:14:08,654 --> 00:14:10,980
So for example, if you if as if

391
00:14:10,980 --> 00:14:13,860
you're designing something that, say, you just need

392
00:14:13,860 --> 00:14:15,879
to meet a specific performance criteria,

393
00:14:16,419 --> 00:14:18,259
once you meet that performance, you probably just

394
00:14:18,259 --> 00:14:20,179
want to lower the carbon footprint. But if

395
00:14:20,179 --> 00:14:22,259
you're trying to design a system that you

396
00:14:22,259 --> 00:14:24,019
want to make sure that you reach the

397
00:14:24,019 --> 00:14:25,879
highest speed and performance possible,

398
00:14:26,445 --> 00:14:26,945
then

399
00:14:27,404 --> 00:14:27,904
probably

400
00:14:28,365 --> 00:14:30,045
you want to figure out a trade off

401
00:14:30,045 --> 00:14:31,825
that would still give you a good performance,

402
00:14:32,045 --> 00:14:33,965
but is not too bad when it comes

403
00:14:33,965 --> 00:14:34,945
to sustainability.

404
00:14:35,565 --> 00:14:37,884
So that trade off definitely makes it I

405
00:14:37,884 --> 00:14:39,804
think it's an extra dimension that we need

406
00:14:39,804 --> 00:14:41,450
to account for now when it comes to

407
00:14:41,450 --> 00:14:44,169
a sustainable design compared to just, like, energy

408
00:14:44,169 --> 00:14:46,409
efficient design or high performing design as it

409
00:14:46,409 --> 00:14:47,789
traditionally is. So

410
00:14:48,250 --> 00:14:50,089
In your research so far, what would you

411
00:14:50,089 --> 00:14:52,329
say has been something that's really surprised you?

412
00:14:52,329 --> 00:14:54,190
Something you didn't expect to find?

413
00:14:54,934 --> 00:14:57,115
Something you didn't expect to find. I

414
00:14:57,975 --> 00:15:00,475
was very surprised to see how

415
00:15:01,014 --> 00:15:04,714
the PFAS used in semiconductor manufacturing are actually

416
00:15:05,254 --> 00:15:06,235
they're pretty essential

417
00:15:06,909 --> 00:15:09,950
in many ways. And, the most surprising part

418
00:15:09,950 --> 00:15:11,870
to me was most of the PFAS used

419
00:15:11,870 --> 00:15:13,330
in semiconductor manufacturing

420
00:15:14,029 --> 00:15:16,750
do not actually stay on chip. They mostly

421
00:15:16,750 --> 00:15:17,570
go to wastewater,

422
00:15:18,029 --> 00:15:20,269
but it's something that you absolutely need to

423
00:15:20,269 --> 00:15:23,044
make that integrated circuit, and yet it's not

424
00:15:23,044 --> 00:15:24,264
on the actual chip.

425
00:15:24,644 --> 00:15:27,044
This whole PFAS thing makes it makes me

426
00:15:27,044 --> 00:15:28,105
realize that

427
00:15:28,804 --> 00:15:29,945
some of the sustainability

428
00:15:30,325 --> 00:15:32,325
things that we really need to think about

429
00:15:32,325 --> 00:15:34,169
in computing is not just

430
00:15:35,209 --> 00:15:36,029
what actually

431
00:15:36,809 --> 00:15:38,829
remains in the end product of computing,

432
00:15:39,289 --> 00:15:41,690
but the process itself, if we start looking

433
00:15:41,690 --> 00:15:42,970
into it, we might find that there are

434
00:15:42,970 --> 00:15:44,809
so many things that we that there are

435
00:15:44,809 --> 00:15:46,970
so many opportunities that we can do to

436
00:15:46,970 --> 00:15:49,470
improve the sustainability of computing in general.

437
00:15:50,294 --> 00:15:52,054
What's the next stage for this project? What

438
00:15:52,054 --> 00:15:53,414
are you working on now? What do you

439
00:15:53,414 --> 00:15:55,674
hope to achieve before you finish your PhD?

440
00:15:56,375 --> 00:15:58,534
So one of the things that really excite

441
00:15:58,534 --> 00:16:00,934
me and interest me in the sustainability space

442
00:16:00,934 --> 00:16:03,735
right now is thinking about what are better

443
00:16:03,735 --> 00:16:06,709
optimization techniques that we can do to actually

444
00:16:07,649 --> 00:16:09,350
help designers start

445
00:16:09,889 --> 00:16:11,029
doing actual

446
00:16:11,409 --> 00:16:12,949
sustainability aware design.

447
00:16:13,329 --> 00:16:15,089
And one of the main challenges in the

448
00:16:15,089 --> 00:16:17,649
sustainability area is that there's so much uncertainty

449
00:16:17,649 --> 00:16:20,004
in the data. And this uncertainty comes from

450
00:16:20,004 --> 00:16:22,004
so many, like, different shapes and forms. One

451
00:16:22,004 --> 00:16:24,085
of them is, like, one, there's lack of

452
00:16:24,085 --> 00:16:26,004
data. And two, there's just a lot of

453
00:16:26,004 --> 00:16:28,185
variability in the data that you have. Because

454
00:16:28,325 --> 00:16:30,644
as you can imagine, the semiconductor supply chain

455
00:16:30,644 --> 00:16:33,889
is so vast, and it's just so across

456
00:16:33,889 --> 00:16:36,289
so many countries, across so many grids, there's

457
00:16:36,289 --> 00:16:38,529
just so much happening in there that there's

458
00:16:38,529 --> 00:16:40,450
so much variability in it. And so I'm

459
00:16:40,450 --> 00:16:42,950
looking at optimization techniques that

460
00:16:43,554 --> 00:16:46,274
would still, despite all of this uncertainty, would

461
00:16:46,274 --> 00:16:48,514
still enable the designer to figure out what

462
00:16:48,514 --> 00:16:50,855
is the optimal design and what is, like,

463
00:16:50,915 --> 00:16:52,514
this is the design that you should be

464
00:16:52,514 --> 00:16:55,409
thinking about to have a more sustainable computing

465
00:16:55,409 --> 00:16:57,569
system, but also meet all of your other

466
00:16:57,569 --> 00:17:00,370
power performance area criteria that you need and

467
00:17:00,370 --> 00:17:01,809
what kind of trade offs that they can

468
00:17:01,809 --> 00:17:03,970
make. So that's that's the most exciting part

469
00:17:03,970 --> 00:17:05,829
for me right now in my project.

470
00:17:06,130 --> 00:17:07,650
Well, I look forward to hearing how that

471
00:17:07,650 --> 00:17:08,869
pans out in the future.

472
00:17:09,315 --> 00:17:11,315
Mariam Elgamel, thank you so much for appearing

473
00:17:11,315 --> 00:17:13,014
on the podcast. Thank you.

474
00:17:20,755 --> 00:17:23,075
Well, that was a really interesting discussion, Margaret.

475
00:17:23,075 --> 00:17:24,830
I mean, one thing that sort of struck

476
00:17:24,830 --> 00:17:25,970
me almost immediately

477
00:17:26,269 --> 00:17:26,769
is

478
00:17:27,309 --> 00:17:29,470
the, you know, the I I suppose the

479
00:17:29,470 --> 00:17:32,109
sort of pure economics of this. I mean,

480
00:17:32,109 --> 00:17:33,490
I can see if you

481
00:17:34,349 --> 00:17:35,950
you want to make a better chip, a

482
00:17:35,950 --> 00:17:36,930
chip that's more

483
00:17:37,294 --> 00:17:37,794
deficient,

484
00:17:38,095 --> 00:17:38,994
energy efficient,

485
00:17:39,454 --> 00:17:40,275
lower cost,

486
00:17:41,054 --> 00:17:42,575
you know, so I can see why you

487
00:17:42,654 --> 00:17:44,755
why a designer would want to do that.

488
00:17:44,894 --> 00:17:46,815
I can also understand why you'd want to

489
00:17:46,815 --> 00:17:47,315
eliminate,

490
00:17:48,654 --> 00:17:50,674
other sort of energy costs

491
00:17:51,109 --> 00:17:51,590
from,

492
00:17:51,910 --> 00:17:53,130
you know, from the process.

493
00:17:53,590 --> 00:17:54,090
But

494
00:17:54,549 --> 00:17:55,049
what,

495
00:17:56,070 --> 00:17:59,350
what are their economics that are driving things

496
00:17:59,350 --> 00:18:00,250
on the environmental

497
00:18:00,630 --> 00:18:02,809
side? I mean, particularly now,

498
00:18:03,350 --> 00:18:05,670
you know, when the the the tide almost

499
00:18:05,670 --> 00:18:08,384
seems to be going in a different direction,

500
00:18:08,605 --> 00:18:09,105
unfortunately,

501
00:18:09,884 --> 00:18:12,924
for making, well, just about anything greener. Did,

502
00:18:15,644 --> 00:18:17,484
was there any sort of talk about that

503
00:18:17,484 --> 00:18:19,825
at the conference, or did Maryam have any

504
00:18:20,045 --> 00:18:21,904
further insights into that?

505
00:18:22,330 --> 00:18:24,170
Yeah. Maryam, I didn't really get into that,

506
00:18:24,170 --> 00:18:25,529
but, you know, there was a little bit

507
00:18:25,529 --> 00:18:26,650
of a a talk or a lot of

508
00:18:26,650 --> 00:18:28,970
think people, sort of interested in in the

509
00:18:28,970 --> 00:18:31,850
environmental effects of AI, which you know are

510
00:18:31,850 --> 00:18:33,610
are quite severe in terms of how much

511
00:18:33,610 --> 00:18:36,430
energy is being used to create and run,

512
00:18:36,765 --> 00:18:39,484
the large language models that underlie things like

513
00:18:39,484 --> 00:18:42,464
chat GBT, Copilot, and various other AI systems.

514
00:18:43,404 --> 00:18:45,164
I think one of the the factors in

515
00:18:45,164 --> 00:18:48,305
terms of of computer chip design specifically and

516
00:18:48,649 --> 00:18:50,569
some of the chemicals that she talked about,

517
00:18:50,569 --> 00:18:51,230
you know,

518
00:18:51,609 --> 00:18:53,690
they are quite expensive and using less of

519
00:18:53,690 --> 00:18:55,849
them would be, you know, good, like, economically

520
00:18:55,849 --> 00:18:56,349
speaking

521
00:18:56,730 --> 00:18:58,730
as well as environmentally. And then I suppose

522
00:18:58,730 --> 00:19:00,349
if you want another economic perspective,

523
00:19:00,970 --> 00:19:03,904
if you end up dumping these chemicals into

524
00:19:03,904 --> 00:19:05,984
waterways, you can, in principle, get fined for

525
00:19:05,984 --> 00:19:07,424
that depending on where you are in the

526
00:19:07,424 --> 00:19:09,365
in in the world and how the local

527
00:19:09,904 --> 00:19:10,404
enforcement

528
00:19:10,865 --> 00:19:13,345
regime works. So I think that there are

529
00:19:13,345 --> 00:19:14,805
some some sort of cold

530
00:19:15,184 --> 00:19:16,085
cold hearted

531
00:19:16,464 --> 00:19:17,525
economic factors

532
00:19:18,200 --> 00:19:20,680
going towards making things greener, not just sort

533
00:19:20,680 --> 00:19:22,200
of, oh, well, it would be better for

534
00:19:22,200 --> 00:19:24,119
the environment. But, I mean, I'm not trying

535
00:19:24,119 --> 00:19:25,720
to sort of diminish the it would be

536
00:19:25,720 --> 00:19:28,119
better for the environment arguments because that's obviously

537
00:19:28,119 --> 00:19:29,640
important. We all live on this planet. We've

538
00:19:29,640 --> 00:19:31,000
all got to keep living on this planet.

539
00:19:31,000 --> 00:19:33,684
There's not really another option, is there? No.

540
00:19:33,684 --> 00:19:35,444
That that that's right. Yeah. And I suppose

541
00:19:35,444 --> 00:19:37,444
if, you know, if your factory is working

542
00:19:37,444 --> 00:19:38,424
to very high,

543
00:19:39,284 --> 00:19:42,085
environmental and health and safety standards, then if

544
00:19:42,085 --> 00:19:44,345
you can eliminate as many dangerous,

545
00:19:45,210 --> 00:19:48,509
nasty chemicals and materials from that process,

546
00:19:48,890 --> 00:19:50,650
you can you can save a lot of

547
00:19:50,650 --> 00:19:53,289
money, can't you? And, you know, sort of,

548
00:19:54,329 --> 00:19:56,569
make your employees happier because they don't have

549
00:19:56,569 --> 00:19:59,375
to work with these, you know, particularly nasty

550
00:19:59,375 --> 00:20:01,375
materials. So Yeah. Yeah. You you have health

551
00:20:01,375 --> 00:20:03,214
effects also for the people working with it.

552
00:20:03,214 --> 00:20:04,974
That's true. And I think it's a little

553
00:20:04,974 --> 00:20:06,595
bit like, other sort

554
00:20:07,134 --> 00:20:09,875
of economic, environmental configurations. I mean,

555
00:20:10,200 --> 00:20:11,500
not flying to conferences

556
00:20:12,119 --> 00:20:14,140
as much as we used to, perhaps,

557
00:20:14,679 --> 00:20:16,599
is good for the environment, but it's also

558
00:20:16,599 --> 00:20:17,659
good for organizations'

559
00:20:18,039 --> 00:20:20,359
bottom line. You know, not sending researchers around

560
00:20:20,359 --> 00:20:22,214
the world quite as much is, you know,

561
00:20:22,214 --> 00:20:24,214
beneficial for that, which I guess is is

562
00:20:24,214 --> 00:20:25,894
one problem with the things like the Heidelberg

563
00:20:25,894 --> 00:20:27,575
Laurier form, because people do come from all

564
00:20:27,575 --> 00:20:29,734
over the world. But I met some people

565
00:20:29,734 --> 00:20:31,414
there who said, you know, we the reason

566
00:20:31,414 --> 00:20:33,974
we're here, particularly some of the there's a

567
00:20:33,974 --> 00:20:35,815
group of alumni who can kind of come

568
00:20:35,815 --> 00:20:36,634
to the conference,

569
00:20:37,095 --> 00:20:37,595
occasionally.

570
00:20:38,289 --> 00:20:40,630
And they said, well, we have a collaboration

571
00:20:40,769 --> 00:20:42,369
going, and we're we're having it at the

572
00:20:42,369 --> 00:20:44,450
Heidelberg Laureate Forum because it saves us sort

573
00:20:44,450 --> 00:20:46,849
of travelling around various different places. So it

574
00:20:46,849 --> 00:20:48,609
saves us in that respect. So I think

575
00:20:48,609 --> 00:20:50,950
there are these sort of kind of parallel

576
00:20:51,009 --> 00:20:52,630
concerns that can feed into,

577
00:20:53,255 --> 00:20:55,835
things becoming greener in a slightly indirect way.

578
00:20:56,134 --> 00:20:57,914
Yeah. And I I suppose, you know,

579
00:20:58,295 --> 00:21:00,934
solar panels are a classic example of something

580
00:21:00,934 --> 00:21:01,434
where,

581
00:21:01,975 --> 00:21:03,894
yeah, I suppose they were brought in to

582
00:21:03,894 --> 00:21:06,875
reduce carbon emissions, but it turns out that,

583
00:21:07,420 --> 00:21:08,880
you know, you can produce electricity

584
00:21:09,259 --> 00:21:10,779
really cheaply with them. Yeah.

585
00:21:11,339 --> 00:21:13,599
You know, much cheaper than with fossil fuels.

586
00:21:14,059 --> 00:21:15,980
And so who's the, the second person that

587
00:21:15,980 --> 00:21:17,820
we're gonna hear from, Margaret? I have a

588
00:21:17,820 --> 00:21:20,460
funny feeling it's a fellow Canadian. We love

589
00:21:20,460 --> 00:21:22,934
to have Canadians on the podcast. Actually, Mariam's

590
00:21:22,934 --> 00:21:25,095
Canadian as well. Although although she's doing her

591
00:21:25,095 --> 00:21:27,575
PhD at Harvard, she is Canadian. So yeah.

592
00:21:27,575 --> 00:21:29,734
That's interesting because I was listening to her,

593
00:21:29,734 --> 00:21:30,554
and I thought

594
00:21:30,934 --> 00:21:33,174
she she sounds like she's from Montreal. Do

595
00:21:33,174 --> 00:21:34,990
you know if she's from Montreal? I don't

596
00:21:34,990 --> 00:21:36,509
think so. No. I think I think she's

597
00:21:36,509 --> 00:21:38,829
more more more Toronto, probably from near your

598
00:21:38,829 --> 00:21:41,230
area. But, she's she's sort of lived between

599
00:21:41,230 --> 00:21:43,069
Canada and Egypt and The US, so it's,

600
00:21:43,069 --> 00:21:44,289
you know Wow.

601
00:21:44,589 --> 00:21:47,309
So both Canadians. Both Canadians. Yeah. Yeah. Well,

602
00:21:47,309 --> 00:21:48,990
well done, Margaret. I should say that I

603
00:21:48,990 --> 00:21:50,204
had nothing to do with,

604
00:21:50,765 --> 00:21:53,085
with this. That's great. Well, let let let's

605
00:21:53,085 --> 00:21:55,024
move on to, to the next Canadian.

606
00:21:55,325 --> 00:21:57,484
What what's his name? So he's Andrew Gunter.

607
00:21:57,484 --> 00:21:59,644
He's finishing his PhD at the University of

608
00:21:59,644 --> 00:22:02,125
British Columbia in Canada, and he works in

609
00:22:02,125 --> 00:22:04,065
designing circuits for computer chips.

610
00:22:04,390 --> 00:22:06,230
And I asked him to start by explaining

611
00:22:06,230 --> 00:22:09,130
what that design process usually looks like.

612
00:22:18,549 --> 00:22:19,609
Designing chips

613
00:22:20,035 --> 00:22:22,855
and creating chips, let's say, has three aspects.

614
00:22:23,154 --> 00:22:25,714
First, there's the design entry, where you determine

615
00:22:25,714 --> 00:22:26,454
the functionality

616
00:22:26,994 --> 00:22:28,914
of the chip that you want. But you

617
00:22:28,914 --> 00:22:30,434
don't know anything about how it's going to

618
00:22:30,434 --> 00:22:31,095
be implemented.

619
00:22:31,809 --> 00:22:33,170
You don't know what it's going to look

620
00:22:33,170 --> 00:22:35,330
like, how well it's going to perform. You

621
00:22:35,330 --> 00:22:37,269
just know the functions. That's step one.

622
00:22:38,130 --> 00:22:39,109
Step two

623
00:22:39,410 --> 00:22:42,609
is converting that functional description of the chip

624
00:22:42,609 --> 00:22:43,990
to a physical description.

625
00:22:44,664 --> 00:22:47,464
That physical description now, it tells you where

626
00:22:47,464 --> 00:22:50,204
the components go, where the wires are laid,

627
00:22:50,265 --> 00:22:51,644
how it's going to be manufactured.

628
00:22:52,505 --> 00:22:53,944
Once you have that, then you go to

629
00:22:53,944 --> 00:22:54,444
fabrication.

630
00:22:55,545 --> 00:22:56,045
You

631
00:22:56,505 --> 00:22:59,325
ship your design off to TSMC in Taiwan.

632
00:22:59,710 --> 00:23:01,549
They do a whole bunch of very complicated

633
00:23:01,549 --> 00:23:04,430
things, and the output is a physical chip.

634
00:23:04,430 --> 00:23:06,509
And you would have this regardless of whether

635
00:23:06,509 --> 00:23:08,269
you're ordering a couple of chips for a

636
00:23:08,269 --> 00:23:09,650
very specialist application

637
00:23:10,430 --> 00:23:12,750
all the way through mass manufacturing. Is that

638
00:23:12,750 --> 00:23:13,970
right? Yeah. So

639
00:23:14,315 --> 00:23:15,835
for what we'd say the high end tech

640
00:23:15,835 --> 00:23:17,855
nodes are, those are very expensive.

641
00:23:18,795 --> 00:23:21,035
You really only want to use high end

642
00:23:21,035 --> 00:23:22,815
technology if it's mass market

643
00:23:23,595 --> 00:23:25,694
production. If there's a lower volume,

644
00:23:26,154 --> 00:23:29,295
you might use an older technology, cheaper and

645
00:23:29,619 --> 00:23:30,119
more

646
00:23:30,579 --> 00:23:32,519
reliable. A big issue with chip fabrication

647
00:23:32,899 --> 00:23:35,480
is errors in the fabrication process.

648
00:23:35,940 --> 00:23:37,880
The newer and more complex the processes,

649
00:23:38,259 --> 00:23:40,179
the more errors you have, the lower your

650
00:23:40,179 --> 00:23:41,799
yield rate is. So maybe

651
00:23:42,419 --> 00:23:44,339
you try to manufacture, let's just say, a

652
00:23:44,339 --> 00:23:47,184
100 chips on a new technology node, maybe

653
00:23:47,184 --> 00:23:49,365
you only get 80 out of the 100.

654
00:23:49,664 --> 00:23:50,804
That drives up cost.

655
00:23:51,585 --> 00:23:53,525
If you have really low,

656
00:23:53,904 --> 00:23:55,904
let's say, volume requirements for how many chips

657
00:23:55,904 --> 00:23:58,085
you need, you might look at field programmable

658
00:23:58,224 --> 00:24:00,630
gateways, a form of reconfigurable chip, which is

659
00:24:00,630 --> 00:24:01,769
actually my expertise.

660
00:24:02,630 --> 00:24:04,069
And we can talk about that more if

661
00:24:04,069 --> 00:24:05,609
you want, but that's the spectrum.

662
00:24:05,990 --> 00:24:08,089
Okay. So tell me what a field programmable

663
00:24:08,230 --> 00:24:09,289
gate array is.

664
00:24:09,669 --> 00:24:10,169
Yes.

665
00:24:10,470 --> 00:24:10,970
So

666
00:24:11,515 --> 00:24:13,595
as opposed to what we call an ASIC,

667
00:24:13,595 --> 00:24:16,015
an application specific integrated circuit,

668
00:24:16,954 --> 00:24:19,054
where so for the ASIC, you

669
00:24:19,515 --> 00:24:21,035
determine the design that you want and you

670
00:24:21,035 --> 00:24:22,575
go off and you manufacture it.

671
00:24:23,434 --> 00:24:26,335
An FPGA, a Field Programmable Gate Array,

672
00:24:26,700 --> 00:24:28,799
is a chip with fixed resources

673
00:24:29,500 --> 00:24:31,279
which has already been manufactured,

674
00:24:31,819 --> 00:24:33,440
and after the manufacturing

675
00:24:33,740 --> 00:24:35,679
process, you then determine

676
00:24:36,539 --> 00:24:38,859
the design that you want to implement in

677
00:24:38,859 --> 00:24:39,599
the FPGA.

678
00:24:40,174 --> 00:24:42,654
So let me clarify what that means. Let's

679
00:24:42,654 --> 00:24:44,034
say you're creating a CPU.

680
00:24:44,734 --> 00:24:47,454
Right? You could design the CPU and manufacture

681
00:24:47,454 --> 00:24:48,815
it, and that will cost a bunch of

682
00:24:48,815 --> 00:24:49,315
money.

683
00:24:49,934 --> 00:24:52,755
Or you design the CPU and you implement

684
00:24:52,815 --> 00:24:54,595
the design on an FPGA.

685
00:24:55,099 --> 00:24:56,559
And now this FPGA

686
00:24:57,580 --> 00:24:59,119
implements the functionality

687
00:24:59,580 --> 00:25:01,440
of the CPU that you specified.

688
00:25:02,140 --> 00:25:04,299
So the FPGA has a fixed set of

689
00:25:04,299 --> 00:25:04,799
resources.

690
00:25:05,500 --> 00:25:07,359
If the CPU you've designed

691
00:25:07,785 --> 00:25:08,525
only requires

692
00:25:09,144 --> 00:25:11,884
less than those resources, you can't implement it.

693
00:25:11,945 --> 00:25:13,785
If it requires more, either you get a

694
00:25:13,785 --> 00:25:15,884
bigger FPGA or you go to an ASIC.

695
00:25:16,585 --> 00:25:18,105
That sounds a little bit like it's a

696
00:25:18,105 --> 00:25:20,025
breadboard type of stage. If you're thinking about

697
00:25:20,025 --> 00:25:22,125
traditional physically wiring circuits,

698
00:25:22,549 --> 00:25:24,150
you put something on the breadboard, then you

699
00:25:24,150 --> 00:25:25,669
see if it works, and then only then

700
00:25:25,669 --> 00:25:27,269
do you go off and solder the real

701
00:25:27,269 --> 00:25:27,769
thing.

702
00:25:28,470 --> 00:25:30,950
Exactly. So a breadboard would be useful for

703
00:25:30,950 --> 00:25:33,190
a lot of analog circuitry or very simple

704
00:25:33,190 --> 00:25:33,690
circuits.

705
00:25:34,150 --> 00:25:36,950
Once you get to complicated digital circuitry and

706
00:25:36,950 --> 00:25:38,169
you want to do prototyping,

707
00:25:38,524 --> 00:25:39,825
then you go to an FPGA.

708
00:25:40,204 --> 00:25:42,605
In fact, and I'm not an industry person,

709
00:25:42,605 --> 00:25:44,065
but from what I've been told,

710
00:25:44,605 --> 00:25:46,684
one of the big revenue drivers for the

711
00:25:46,684 --> 00:25:49,184
FPGA industry is prototyping

712
00:25:49,484 --> 00:25:49,984
ASICs.

713
00:25:50,845 --> 00:25:52,944
So they do get used in that production

714
00:25:53,005 --> 00:25:55,730
loop as well. What specific problem with this

715
00:25:55,730 --> 00:25:57,409
process have you been trying to solve in

716
00:25:57,409 --> 00:25:58,150
your PhD?

717
00:25:58,529 --> 00:26:01,569
Yeah. So maybe multiple problems, but I will

718
00:26:01,569 --> 00:26:02,069
give

719
00:26:02,529 --> 00:26:04,710
the let's say, kind of the big picture

720
00:26:04,769 --> 00:26:05,269
problem.

721
00:26:05,809 --> 00:26:07,569
So I told you step one, step two,

722
00:26:07,569 --> 00:26:08,710
and step three previously.

723
00:26:09,184 --> 00:26:10,644
Step one is design entry.

724
00:26:11,105 --> 00:26:14,085
Step two is the conversion from a functional

725
00:26:14,224 --> 00:26:16,384
to a physical design, and we refer to

726
00:26:16,384 --> 00:26:19,424
that as electronic design automation, and step three

727
00:26:19,424 --> 00:26:20,325
is the fabrication.

728
00:26:21,105 --> 00:26:23,444
So my research deals with step two primarily,

729
00:26:24,000 --> 00:26:27,039
electronic design automation. We have the functional design.

730
00:26:27,039 --> 00:26:28,980
We want to produce a physical design.

731
00:26:29,680 --> 00:26:31,519
Now the way that we do this is

732
00:26:31,519 --> 00:26:33,839
in several stages and we'll say that at

733
00:26:33,839 --> 00:26:36,400
each stage, we have usually an NP hard

734
00:26:36,400 --> 00:26:38,480
problem to solve and we use a heuristic

735
00:26:38,480 --> 00:26:39,734
algorithm to solve it.

736
00:26:40,214 --> 00:26:41,194
So stage

737
00:26:41,654 --> 00:26:43,974
one within this, then stage two, stage three,

738
00:26:43,974 --> 00:26:45,595
it's a sequential process.

739
00:26:46,454 --> 00:26:47,755
At each stage,

740
00:26:48,454 --> 00:26:49,595
things can go wrong.

741
00:26:49,894 --> 00:26:51,434
We're using heuristic algorithms.

742
00:26:52,069 --> 00:26:52,569
So

743
00:26:52,950 --> 00:26:55,529
they can fail to produce a viable solution.

744
00:26:56,390 --> 00:26:57,529
If they succeed,

745
00:26:58,069 --> 00:26:59,369
they can take an unexpectedly

746
00:26:59,750 --> 00:27:00,490
long time

747
00:27:00,789 --> 00:27:02,410
to succeed and produce a solution,

748
00:27:02,869 --> 00:27:04,630
and the solution may be of a low

749
00:27:04,630 --> 00:27:05,130
quality.

750
00:27:05,775 --> 00:27:08,595
So my research deals with predicting in advance

751
00:27:09,055 --> 00:27:10,434
before you run the algorithms

752
00:27:11,134 --> 00:27:12,894
if any of those three things will become

753
00:27:12,894 --> 00:27:13,555
an issue.

754
00:27:14,095 --> 00:27:14,595
So

755
00:27:15,535 --> 00:27:16,755
prior to this research,

756
00:27:17,295 --> 00:27:20,355
that electronic design automation process, it's very uncertain,

757
00:27:20,849 --> 00:27:22,289
and I like to say that my research

758
00:27:22,289 --> 00:27:25,029
is adding certainty to electronic design automation.

759
00:27:25,650 --> 00:27:27,730
That sounds like the equivalent of if you're

760
00:27:27,730 --> 00:27:29,490
having a software update, you might want to

761
00:27:29,490 --> 00:27:31,589
know that the software update is gonna take,

762
00:27:31,650 --> 00:27:33,410
I don't know, three hours and forty five

763
00:27:33,410 --> 00:27:35,554
minutes to run that thing over time as

764
00:27:35,554 --> 00:27:37,654
opposed to taking, you know, two minutes.

765
00:27:38,035 --> 00:27:39,954
Yeah. So I normally don't market this way,

766
00:27:39,954 --> 00:27:41,714
but when I talk to others in the

767
00:27:41,714 --> 00:27:44,914
domain, they say, oh, you're creating a progress

768
00:27:44,914 --> 00:27:47,315
bar for electronic design automation. And I go,

769
00:27:47,315 --> 00:27:48,595
yeah. You know what? You can think of

770
00:27:48,595 --> 00:27:50,275
it that way. There's a little bit more,

771
00:27:50,275 --> 00:27:52,369
but you could create a progress bar with

772
00:27:52,369 --> 00:27:55,089
this. Whereas today, there's nothing. You just kind

773
00:27:55,089 --> 00:27:56,369
of sit there and you wait and you

774
00:27:56,369 --> 00:27:58,369
see what happens. I want to get a

775
00:27:58,369 --> 00:28:00,210
little bit into the mathematics of this. You

776
00:28:00,210 --> 00:28:03,029
mentioned something as being an NP hard process.

777
00:28:03,650 --> 00:28:04,549
Yeah. So

778
00:28:05,484 --> 00:28:07,804
without going into the technical details of what

779
00:28:07,804 --> 00:28:10,785
NP hardness is, I think the important intuition

780
00:28:11,565 --> 00:28:14,065
is that we're looking at optimization problems,

781
00:28:14,845 --> 00:28:15,345
and

782
00:28:16,044 --> 00:28:19,565
there are many, many different possible solutions to

783
00:28:19,565 --> 00:28:21,500
this. So we would typically speak to the

784
00:28:21,500 --> 00:28:22,799
complexity of the problem,

785
00:28:23,339 --> 00:28:23,839
and

786
00:28:24,220 --> 00:28:26,400
the problems that we're dealing with have combinatorial

787
00:28:26,859 --> 00:28:27,359
complexity,

788
00:28:28,059 --> 00:28:28,559
where

789
00:28:28,940 --> 00:28:29,839
for every

790
00:28:30,380 --> 00:28:32,480
element of the output solution,

791
00:28:33,045 --> 00:28:35,365
you can choose from, let's say, a set

792
00:28:35,365 --> 00:28:36,025
of possibilities.

793
00:28:37,125 --> 00:28:38,184
And for each

794
00:28:38,725 --> 00:28:39,225
possibility

795
00:28:39,684 --> 00:28:41,465
for a given element of the solution,

796
00:28:42,325 --> 00:28:44,664
any combination of those is

797
00:28:45,380 --> 00:28:47,380
viable in the output space. So we say

798
00:28:47,380 --> 00:28:48,120
it's combinatorially

799
00:28:48,500 --> 00:28:51,080
hard, and those combinatorially hard problems

800
00:28:51,620 --> 00:28:54,019
are they fall into the complexity class of

801
00:28:54,019 --> 00:28:55,799
NP hardness in computer science.

802
00:28:56,580 --> 00:28:58,279
So very, very hard stuff.

803
00:28:59,275 --> 00:29:01,115
And what was the outcome of your process?

804
00:29:01,115 --> 00:29:03,615
What stage is this business project at currently?

805
00:29:03,994 --> 00:29:06,075
Yeah. So I'm toward the end of my

806
00:29:06,075 --> 00:29:06,575
PhD.

807
00:29:06,875 --> 00:29:09,355
Many years have gone into it, and I've

808
00:29:09,355 --> 00:29:10,954
completed a lot, but there's a lot more

809
00:29:10,954 --> 00:29:13,259
to go. So what I've done so far

810
00:29:13,400 --> 00:29:15,019
is I've looked at the

811
00:29:15,320 --> 00:29:15,820
hardest

812
00:29:16,279 --> 00:29:16,779
problem

813
00:29:17,160 --> 00:29:19,799
within electronic design automation, which is a routing

814
00:29:19,799 --> 00:29:20,299
problem.

815
00:29:21,000 --> 00:29:21,500
Now

816
00:29:22,200 --> 00:29:25,080
routing is hard, not just because of the

817
00:29:25,080 --> 00:29:27,194
complexity of the task, but the scale at

818
00:29:27,194 --> 00:29:28,255
which we do it.

819
00:29:28,875 --> 00:29:29,375
So

820
00:29:30,154 --> 00:29:33,275
for routing, we typically think of the chip

821
00:29:33,275 --> 00:29:35,115
as a graph. And when I say graph,

822
00:29:35,115 --> 00:29:37,755
I mean in the computer science domain where

823
00:29:37,755 --> 00:29:39,054
the graph has nodes

824
00:29:39,434 --> 00:29:40,734
and nodes have edges.

825
00:29:41,359 --> 00:29:42,580
The nodes represent

826
00:29:43,119 --> 00:29:45,840
wiring resources in the chip and the edges

827
00:29:45,840 --> 00:29:46,900
represent the connectivity

828
00:29:47,440 --> 00:29:49,539
between the wires in the chip.

829
00:29:50,240 --> 00:29:51,539
Now, the routing problem

830
00:29:52,240 --> 00:29:53,460
involves connecting,

831
00:29:54,825 --> 00:29:55,325
communicating

832
00:29:55,785 --> 00:29:58,105
components in the design. So if I have

833
00:29:58,105 --> 00:30:00,585
component a in the chip and component b

834
00:30:00,585 --> 00:30:02,904
and my functional design says these two things

835
00:30:02,904 --> 00:30:04,585
need to talk to each other, we need

836
00:30:04,585 --> 00:30:06,904
to lay a wire that communicate that connects

837
00:30:06,904 --> 00:30:07,884
the two of them.

838
00:30:08,265 --> 00:30:09,980
Now, that's really simple.

839
00:30:10,519 --> 00:30:12,839
However, it's not usually just component a and

840
00:30:12,839 --> 00:30:14,460
b. There's not normally two.

841
00:30:14,839 --> 00:30:17,500
The typical order of magnitude in my work

842
00:30:17,640 --> 00:30:18,460
is about

843
00:30:19,799 --> 00:30:21,079
10,000,000

844
00:30:21,079 --> 00:30:21,579
components,

845
00:30:23,054 --> 00:30:25,315
and the typical number of wires

846
00:30:25,934 --> 00:30:27,154
is about a billion.

847
00:30:28,014 --> 00:30:31,794
And so this graph then has about 10,000,000

848
00:30:31,855 --> 00:30:33,875
nodes and a billion edges.

849
00:30:34,734 --> 00:30:37,054
And so we have to use algorithms to

850
00:30:37,054 --> 00:30:37,554
solve

851
00:30:38,089 --> 00:30:39,549
this NP hard problem

852
00:30:40,410 --> 00:30:42,830
on a billion scale chip.

853
00:30:43,930 --> 00:30:46,490
And so my research is predicting whether the

854
00:30:46,490 --> 00:30:49,630
algorithms can do that for a specific problem,

855
00:30:49,930 --> 00:30:51,914
predict how long it's going to take, and

856
00:30:51,914 --> 00:30:53,695
predict the quality of the final solution.

857
00:30:54,315 --> 00:30:56,315
But if your process said, actually, this is

858
00:30:56,315 --> 00:30:58,075
going to either take a very long time

859
00:30:58,075 --> 00:30:59,515
or it might take a long time, might

860
00:30:59,515 --> 00:31:01,515
take a short time, but the solution it's

861
00:31:01,515 --> 00:31:02,795
going to come up with is not gonna

862
00:31:02,795 --> 00:31:03,695
be very good,

863
00:31:04,315 --> 00:31:05,375
what happens then?

864
00:31:06,075 --> 00:31:08,730
Yep. So a few different things can happen.

865
00:31:09,349 --> 00:31:11,670
It depends on exactly how your design flow

866
00:31:11,670 --> 00:31:14,089
looks, but I'll give you two examples.

867
00:31:15,029 --> 00:31:15,849
One example

868
00:31:16,630 --> 00:31:18,309
that is a state of the art for

869
00:31:18,309 --> 00:31:19,625
many people is

870
00:31:20,805 --> 00:31:21,305
they

871
00:31:22,325 --> 00:31:22,825
perform

872
00:31:23,125 --> 00:31:25,605
what we call the placement task, which happens

873
00:31:25,605 --> 00:31:26,505
before routing,

874
00:31:27,285 --> 00:31:28,825
with multiple different instances.

875
00:31:29,125 --> 00:31:31,125
So what this means is that in placement,

876
00:31:31,125 --> 00:31:32,565
we have components of the chip, and we

877
00:31:32,565 --> 00:31:34,259
need to figure out where they go. We

878
00:31:34,259 --> 00:31:36,119
have to place them at fixed locations.

879
00:31:36,980 --> 00:31:40,200
We use pseudo random algorithms for this, which

880
00:31:40,580 --> 00:31:43,320
give different outputs based on a different random

881
00:31:43,700 --> 00:31:46,065
number generator seed. So So let's say we'll

882
00:31:46,065 --> 00:31:48,304
do 10 different placements with 10 different random

883
00:31:48,304 --> 00:31:48,804
seeds.

884
00:31:49,184 --> 00:31:51,125
And then now we have 10 different inputs

885
00:31:51,184 --> 00:31:52,325
to the routing problem.

886
00:31:53,025 --> 00:31:55,825
We will then run 10 different instances of

887
00:31:55,825 --> 00:31:56,804
the routing problem,

888
00:31:57,345 --> 00:32:00,325
and we can use my research to predict

889
00:32:00,470 --> 00:32:03,450
which of those is most likely to succeed,

890
00:32:03,910 --> 00:32:05,910
take a short amount of time, and then

891
00:32:05,910 --> 00:32:07,529
give you a good result at the end.

892
00:32:07,670 --> 00:32:09,349
And so you would kill nine of the

893
00:32:09,349 --> 00:32:11,910
instances and keep just one. So that's one

894
00:32:11,910 --> 00:32:14,045
way it could be used. Another way that

895
00:32:14,045 --> 00:32:14,944
it could be used

896
00:32:15,644 --> 00:32:17,184
in tandem with that actually

897
00:32:17,644 --> 00:32:19,265
is you have a routing problem

898
00:32:19,805 --> 00:32:20,704
and you predict

899
00:32:21,085 --> 00:32:22,684
it's not going to work out or it's

900
00:32:22,765 --> 00:32:24,765
there's a low probability that is going to

901
00:32:24,765 --> 00:32:26,625
work out and give a successful solution.

902
00:32:27,130 --> 00:32:27,630
You

903
00:32:28,169 --> 00:32:30,589
can kill the routing run early,

904
00:32:31,289 --> 00:32:33,289
go to an earlier stage of the design

905
00:32:33,289 --> 00:32:33,789
process,

906
00:32:34,250 --> 00:32:36,829
make some tweaks based on your engineering expertise

907
00:32:37,289 --> 00:32:39,950
that you believe are going to improve the

908
00:32:40,434 --> 00:32:43,555
likelihood that the chip will be routable, as

909
00:32:43,555 --> 00:32:44,695
we like to say it.

910
00:32:45,075 --> 00:32:46,674
You've worked out that you can't get from

911
00:32:46,674 --> 00:32:48,434
point a to point b by subway, and

912
00:32:48,434 --> 00:32:49,715
you've got to work out how to do

913
00:32:49,715 --> 00:32:50,775
it on foot instead.

914
00:32:51,154 --> 00:32:53,970
Exactly. Right? During this project, was there anything

915
00:32:53,970 --> 00:32:55,570
that you thought would be hard that turned

916
00:32:55,570 --> 00:32:56,549
out to be easy

917
00:32:56,930 --> 00:32:59,490
or vice versa? Anything you thought that would

918
00:32:59,490 --> 00:33:01,330
be easy turned out to be really, really

919
00:33:01,330 --> 00:33:01,830
difficult?

920
00:33:02,369 --> 00:33:04,210
I can't say anything that I thought was

921
00:33:04,210 --> 00:33:05,650
going to be hard turned out to be

922
00:33:05,650 --> 00:33:07,045
easy, but but I can say that there

923
00:33:07,045 --> 00:33:08,244
are things which I thought was going to

924
00:33:08,244 --> 00:33:09,945
be easy that turned out to be hard.

925
00:33:10,484 --> 00:33:13,144
I'll give you one example of that. So

926
00:33:14,164 --> 00:33:16,404
something which I've personally tried to look at,

927
00:33:16,404 --> 00:33:18,744
which prior research hasn't really, is

928
00:33:19,125 --> 00:33:20,184
the the probabilities

929
00:33:20,644 --> 00:33:21,945
of what's going to happen.

930
00:33:22,289 --> 00:33:22,789
So

931
00:33:23,090 --> 00:33:25,190
I apply machine learning to do these predictions.

932
00:33:26,130 --> 00:33:28,049
There's been prior work on using machine learning

933
00:33:28,049 --> 00:33:30,710
for similar aspects of electronic design automation

934
00:33:31,330 --> 00:33:34,789
and they typically predict the expected outcome.

935
00:33:35,250 --> 00:33:36,230
So for example,

936
00:33:37,414 --> 00:33:38,795
we could say that

937
00:33:39,255 --> 00:33:41,174
we expect that the chip is going to

938
00:33:41,174 --> 00:33:44,375
come out with an operating frequency of 500

939
00:33:44,375 --> 00:33:44,875
megahertz.

940
00:33:45,734 --> 00:33:46,234
Sure.

941
00:33:47,255 --> 00:33:49,494
You can take a more nuanced view to

942
00:33:49,494 --> 00:33:50,795
this. You could say

943
00:33:51,734 --> 00:33:55,170
our average expected result is 500 megahertz,

944
00:33:55,549 --> 00:33:57,230
but within a 5%

945
00:33:57,230 --> 00:33:58,509
to 95%

946
00:33:58,509 --> 00:33:59,650
confidence interval,

947
00:34:00,029 --> 00:34:02,049
we expect it to be be between

948
00:34:02,750 --> 00:34:05,089
400 megahertz and 600 megahertz.

949
00:34:06,109 --> 00:34:08,655
As it turns out, this is very useful

950
00:34:08,655 --> 00:34:09,954
to do, but it's not

951
00:34:10,335 --> 00:34:10,835
straightforward

952
00:34:11,295 --> 00:34:13,795
to do that. Why is that so useful?

953
00:34:14,255 --> 00:34:14,755
So

954
00:34:15,375 --> 00:34:17,474
it ends up being useful because

955
00:34:17,855 --> 00:34:18,994
we often have,

956
00:34:19,860 --> 00:34:20,360
let's

957
00:34:20,820 --> 00:34:21,320
say,

958
00:34:22,980 --> 00:34:24,680
some room for tolerance

959
00:34:25,140 --> 00:34:26,200
in these things.

960
00:34:26,740 --> 00:34:28,820
Right? So it it's nice to know that

961
00:34:28,820 --> 00:34:30,920
we expect a 500 megahertz chip,

962
00:34:31,220 --> 00:34:34,755
but maybe we don't actually need that. Maybe

963
00:34:34,755 --> 00:34:35,635
450

964
00:34:35,635 --> 00:34:36,934
megahertz would be enough.

965
00:34:38,034 --> 00:34:38,534
So

966
00:34:39,074 --> 00:34:41,155
only knowing that we expect 500 is nice.

967
00:34:41,155 --> 00:34:42,755
That kind of tells us most likely we'll

968
00:34:42,755 --> 00:34:44,934
get what we want. But what if

969
00:34:45,315 --> 00:34:47,355
there's a a significant probability of it going

970
00:34:47,355 --> 00:34:48,835
to be below 450

971
00:34:48,835 --> 00:34:49,335
megahertz?

972
00:34:49,719 --> 00:34:52,760
Then that single prediction of just 500 doesn't

973
00:34:52,760 --> 00:34:54,539
give you any information about that.

974
00:34:55,160 --> 00:34:55,660
Now

975
00:34:56,199 --> 00:34:57,660
if you don't have that information,

976
00:34:58,599 --> 00:34:59,820
how do you make a decision?

977
00:35:00,119 --> 00:35:01,559
How do you know whether this is going

978
00:35:01,559 --> 00:35:02,460
to be good enough?

979
00:35:02,835 --> 00:35:04,275
You don't, and so you have to guess,

980
00:35:04,275 --> 00:35:06,675
and that's what people have done. People have

981
00:35:06,675 --> 00:35:08,375
guessed in the face of uncertainty.

982
00:35:08,914 --> 00:35:11,394
But now I'm giving you a probabilistic view

983
00:35:11,394 --> 00:35:12,855
of this. I can tell you

984
00:35:13,234 --> 00:35:14,054
the probability

985
00:35:14,675 --> 00:35:16,934
based on prior data that we've collected

986
00:35:18,219 --> 00:35:20,780
indicates that there's an x percent chance that

987
00:35:20,780 --> 00:35:22,940
the frequency of the chip will be greater

988
00:35:22,940 --> 00:35:25,739
than your minimum threshold of 450

989
00:35:25,739 --> 00:35:26,239
megahertz.

990
00:35:26,860 --> 00:35:29,260
Are there any implications of these results beyond

991
00:35:29,260 --> 00:35:30,940
chip design? I mean, I can imagine that

992
00:35:30,940 --> 00:35:32,719
other industries will also have routing

993
00:35:33,974 --> 00:35:35,974
problems and will also be using the algorithms

994
00:35:35,974 --> 00:35:37,894
to try to solve them. Yes. So I

995
00:35:37,894 --> 00:35:38,554
think this

996
00:35:39,094 --> 00:35:39,674
is an

997
00:35:40,135 --> 00:35:40,635
early

998
00:35:41,414 --> 00:35:45,599
but fertile area for research. So thinking thinking

999
00:35:45,599 --> 00:35:47,920
more fundamentally about what my research is doing,

1000
00:35:47,920 --> 00:35:48,900
yes, we're predicting

1001
00:35:49,440 --> 00:35:50,820
outcomes in chip design,

1002
00:35:51,360 --> 00:35:53,780
but we're really predicting the outcomes of algorithms.

1003
00:35:54,320 --> 00:35:57,135
Algorithms get used beyond the chip design world.

1004
00:35:57,375 --> 00:35:58,815
They get used in more places than I

1005
00:35:58,815 --> 00:36:00,114
could ever imagine counting.

1006
00:36:00,655 --> 00:36:01,394
And so

1007
00:36:02,175 --> 00:36:04,815
researching the outcomes of algorithms has a more

1008
00:36:04,815 --> 00:36:05,875
global implication,

1009
00:36:06,255 --> 00:36:07,775
an implication that I think a lot of

1010
00:36:07,775 --> 00:36:09,235
other researchers and practitioners

1011
00:36:09,775 --> 00:36:11,074
should pay attention to

1012
00:36:11,460 --> 00:36:11,960
because

1013
00:36:12,340 --> 00:36:14,199
it it gives us new applications

1014
00:36:14,500 --> 00:36:16,500
for this research, but I think it also

1015
00:36:16,500 --> 00:36:18,519
drives new research areas. So

1016
00:36:19,219 --> 00:36:21,059
one of the hot topics in machine learning

1017
00:36:21,059 --> 00:36:22,840
these days is foundation models.

1018
00:36:23,775 --> 00:36:24,275
Now

1019
00:36:25,534 --> 00:36:26,914
I'm telling you that

1020
00:36:27,295 --> 00:36:29,534
there are many different algorithms that we could

1021
00:36:29,534 --> 00:36:30,514
apply this to.

1022
00:36:30,974 --> 00:36:31,954
Here's an idea.

1023
00:36:32,414 --> 00:36:34,275
What if we collected data

1024
00:36:34,815 --> 00:36:35,315
from

1025
00:36:35,614 --> 00:36:36,835
several different algorithms

1026
00:36:37,329 --> 00:36:40,449
to train one foundation model, which is used

1027
00:36:40,449 --> 00:36:43,670
to predict the outcomes of many different algorithms,

1028
00:36:44,210 --> 00:36:45,730
and then we fine tune this as we

1029
00:36:45,730 --> 00:36:46,230
want.

1030
00:36:46,530 --> 00:36:48,369
This is a paradigm that we've seen successful

1031
00:36:48,369 --> 00:36:50,769
in other areas of machine learning, but not

1032
00:36:50,769 --> 00:36:52,389
really in the algorithms world.

1033
00:36:52,704 --> 00:36:55,025
And something that's really key to note here

1034
00:36:55,025 --> 00:36:57,424
is that we can collect high quality data

1035
00:36:57,424 --> 00:37:00,644
from algorithms. It's really easy to extract information

1036
00:37:01,184 --> 00:37:04,085
because we're not dealing with physical processes with

1037
00:37:04,385 --> 00:37:06,704
noisy sensor data that you might have in,

1038
00:37:06,704 --> 00:37:08,579
say, the physics world. We're in the world

1039
00:37:08,579 --> 00:37:10,760
of software. And in the world of software,

1040
00:37:10,900 --> 00:37:13,220
we can collect near perfect information to train

1041
00:37:13,220 --> 00:37:15,480
our models. That does sound exciting.

1042
00:37:16,420 --> 00:37:18,739
Okay. Final question. What are you planning to

1043
00:37:18,739 --> 00:37:19,400
do next?

1044
00:37:19,700 --> 00:37:21,160
That's a good question. So

1045
00:37:22,464 --> 00:37:24,304
I do everything that I said in my

1046
00:37:24,304 --> 00:37:25,925
academic life, in my PhD.

1047
00:37:26,385 --> 00:37:28,224
I also have an industry life on the

1048
00:37:28,224 --> 00:37:30,385
side. So I work at part time at

1049
00:37:30,385 --> 00:37:33,284
a startup called Singulos Research in Vancouver, Canada,

1050
00:37:33,905 --> 00:37:36,065
where we do nothing related to anything I

1051
00:37:36,065 --> 00:37:38,199
just said. We are looking at

1052
00:37:38,819 --> 00:37:39,719
mixed reality

1053
00:37:40,019 --> 00:37:43,639
experiences using computer vision for real time applications

1054
00:37:43,859 --> 00:37:44,920
on mobile devices.

1055
00:37:45,859 --> 00:37:46,359
And

1056
00:37:46,659 --> 00:37:47,159
I'm

1057
00:37:47,539 --> 00:37:49,400
hoping that things go well with the start

1058
00:37:49,460 --> 00:37:51,139
up, and if they do, I'm planning to

1059
00:37:51,139 --> 00:37:53,984
continue research there. Maybe I'll go between that

1060
00:37:53,984 --> 00:37:56,224
and the chip design world. I have several

1061
00:37:56,224 --> 00:37:56,724
interests.

1062
00:37:57,105 --> 00:37:58,724
So it's up in there at the moment.

1063
00:37:59,105 --> 00:38:00,085
Well, good luck.

1064
00:38:00,385 --> 00:38:01,664
Thank you very much for appearing on the

1065
00:38:01,664 --> 00:38:03,184
podcast. It's been good to talk to you.

1066
00:38:03,184 --> 00:38:04,724
Thank you. It's been lovely, Margaret.

1067
00:38:12,800 --> 00:38:15,860
That was Andrew Gunther speaking to Margaret Harris

1068
00:38:16,000 --> 00:38:20,099
at the Heidelberg Laureate Forum in Heidelberg, Germany.

1069
00:38:20,894 --> 00:38:23,954
Thanks to Andrew and our other guest, Mariam

1070
00:38:24,094 --> 00:38:24,594
Elgemel,

1071
00:38:25,135 --> 00:38:28,195
for enlightening us about what goes into designing

1072
00:38:28,335 --> 00:38:29,315
computer chips,

1073
00:38:29,695 --> 00:38:32,255
the chips that we all use just about

1074
00:38:32,255 --> 00:38:34,355
every hour of every day.

1075
00:38:35,070 --> 00:38:37,329
And, Margaret, thanks for coming on the podcast.

1076
00:38:37,469 --> 00:38:39,230
And, can can you give us a little

1077
00:38:39,230 --> 00:38:41,630
preview of some other interviews that you've got

1078
00:38:41,630 --> 00:38:43,469
from Heidelberg that are coming up? I think

1079
00:38:43,469 --> 00:38:45,550
we've got two more, don't we? Yeah. I

1080
00:38:45,550 --> 00:38:47,965
spoke to two laureates at the Huddlberg Laureate

1081
00:38:47,965 --> 00:38:49,804
Forum who both have a background in physics

1082
00:38:49,804 --> 00:38:51,965
before they went into computer science, which is

1083
00:38:51,965 --> 00:38:53,644
where they've made their names and and won

1084
00:38:53,644 --> 00:38:54,304
their prizes.

1085
00:38:55,005 --> 00:38:57,885
Patrick Hanrahan is now best known for,

1086
00:38:58,684 --> 00:39:01,425
his work on at Pixar on computer animation.

1087
00:39:02,059 --> 00:39:05,260
And Amanda Randalls is working on computational sort

1088
00:39:05,260 --> 00:39:06,639
of health health science,

1089
00:39:07,099 --> 00:39:09,500
in the engineering department at Duke University. We

1090
00:39:09,500 --> 00:39:10,320
actually overlapped

1091
00:39:10,940 --> 00:39:12,780
there as physics students, so it was nice

1092
00:39:12,780 --> 00:39:14,219
to talk to her for that reason as

1093
00:39:14,219 --> 00:39:15,954
well. And so, yeah, they'll be coming up

1094
00:39:15,954 --> 00:39:17,635
on the podcast over the next couple of

1095
00:39:17,635 --> 00:39:19,394
months. We don't want to have all computer

1096
00:39:19,394 --> 00:39:21,394
science all the time, but, back to our

1097
00:39:21,394 --> 00:39:23,875
regular scheduled physics next week, I think. That's

1098
00:39:23,875 --> 00:39:26,195
right. Well, I look forward to, to, to

1099
00:39:26,195 --> 00:39:28,614
getting those, interviews onto the podcast.

1100
00:39:29,170 --> 00:39:31,889
Thanks, Margaret, for, coming on the podcast and

1101
00:39:31,889 --> 00:39:33,190
for doing those interviews,

1102
00:39:33,650 --> 00:39:36,050
and a special thanks to our producer, Fred

1103
00:39:36,050 --> 00:39:36,550
Isles.

1104
00:39:36,929 --> 00:39:39,349
We'll be back again next week. Bye.

Chapters

No chapters available.