So, we are starting with this next talk which is GPU Accelerated High-Performance Computing Primer. The talk will be given by Ashwin Ashok and G. Raja Suman. So both are here. Can we have a round of applause for them? I am particularly interested in this talk because I think it got the highest number of votes when it was on funnel at Pycon. So Ashwin Ashok is a student at Vignan and he is interested in open source and embedded systems whereas G. Raja Suman, he works at TCS and is fond of embedded CN-Python. So just enjoy the talk. Hello. So I am all about everybody, right? So before I start anything I will make one thing clear. If anybody has done QDA programming or OpenCL programming before, please raise your hands up. You can sleep. Okay, because there is nothing new I am bringing to the plate here but what I am trying to do, what we are trying to do is try to bring awareness because everybody is like, if I want to process something I will put it in that system is really powerful I will just shift it there. Here if you buy an NVIDIA GPU or if you buy an AMD GPU you can do a lot of stuff faster than service can do stuff.   All I want to say right now is if you want to do stuff faster and if your algorithms are parallel or can be made parallel you will have amazing speed up. So and the other thing I just want to say is most of the stuff which I wanted to cover was already covered in Medusa. Like most of you guys were there in Medusa talk, right? So it was a super talk. So most of the stuff was covered there and I hope some of you have observed like whenever he went like this, Python 2, can you see? It says for my system it says GCC but for the Medusa talk it says LLVM. That will make all the difference in this talk. Have you anybody observed that? Okay. That will make all the difference. So GPA accelerated HPC problem, I just made this up. I just wanted to pull some crowd eyes so I just made this up. So the end of an era. So by the time Pentium chips were coming into the market it didn't make any difference like five years ago I had a 2D guy's processor. I still have a 2D guy's laptop. That didn't change. But the only transistor count increased. But this has nothing to do with performance. I'm just plotting a graph between clock speed and transistor crown. So basically what I'm saying is even though manufacturers are putting more transistors into CPUs the performance gains are only like margin and like 1%-2%. So if you want to do anything like if you want to increase the performance of your processor you need to do some tweaks like transistor level tweaks. I won't bore you. I'm an electronics guy. I won't bore you. So when you do that when you increase clock frequencies your power dissipation goes up. So with great power comes great responsibility. With great clock speed comes great power consumption. Remember that. So let's go to first two parallel. So what is parallel? Little bit more parallel. So I don't have to explain if you know multithreading you know parallel stuff. But this parallel is a new level of thinking. It's highly rewarding and challenging. And the hardware is already there. You don't have to buy new hardware. It's already there. If you play games it's already there. So I shamelessly copied this from the Go programming language slides. So I'm just saying if one guy can if one guy can do a job in 10 days 10 guys can do a job in one day. That's all I'm going to talk today. So raise to Minicoor Mountain. Since the Pentium Fiasco since the Pentium Fiasco where clock speeds are not increasing like Pentium was like I mean Intel was like you know let me put another guy. Let me put another guy. Let three guys do the job. Let four guys do the job. And so you know AMD whatever Intel does is just copy so. Okay. It's either way around. It doesn't matter. So this is the same thing. This changed the word the CPU courseware and this we call it a new processor. Whatever. So it's not really a new concept. This concept is not really new. Back in I mean I'm an electronics guy right?   So back in 1970 and 1980 when these chips first came out people had to do floating that's when I triply floating point specifications came out. That's when I triply floating point specifications came out. So these 8086 processors can't be floating point math without a floating point unit. How many of you guys have had to deal with the IA32 assembly? Awesome.  So what happened was okay nothing happened. So these days use another chip called 8087 and after the floating point part there. So basically what Intel is doing is it's just copying what it did back in 1970 and 1980s. It's just bringing up Z15 core processors which have 61 cores. So more people gets a job in so high love. So everybody got the job. Doesn't matter. So world's first open science supercomputer. It has 18,688 nodes and each node has 16 core operands. Now this makes sense. Since I was telling more people less number of time that makes sense. But why the NVIDIA?  Why put that? Because that is where the magic takes place. AMD chip does nothing. It only does memory transfers and stuff. So most of the major supercomputers right now the GPUs do the magic. So why use CPU? Please read this slide. Explain. So why use CPU for computing? One thing, CPUs are hitting the wall. Like most of the CPUs are... Even if you wait for 5 years and buy a new CPU it doesn't matter. It will still be like 2.3GHz, 32 cores. Each one matter. And also development of parallel algorithms is taking place. Since the last 15 years we've seen... I was a small kid back in 15 years. I'm just saying we've seen a lot of parallel algorithms come up. And extremely powerful hardware that's scrapping up. It's not really a new idea. I know NVIDIA has a bad name in the open source community. But this is one thing they're doing it right. Kira. They're doing it this thing right. Why because? Simple. When you say that 4 cores do the job in less time. What happens when you put 240 cores? So NVIDIA is just going like I'll just keep on putting cores. It's a good thing. It's a good thing. And I don't use Apple products but I have to give this one to Apple. They're the one who started the OpenCL stuff. So what the OpenCL stuff does is really interesting. So first of all, if you want to increase your performance, like for a program if you want to increase the performance, there are four ways. First is you can put multiple CPUs. Or you can use OpenMP. HaspragmaOMP before the Furlough premiere. And you can use GPUs. Or like 7 years ago when Kira was not there, people used to fool OpenCL into thinking it was doing math. So that's a really complicated stuff. So what OpenCL, what happened it was, it made a common scene entertainment program in language for all these. That's OpenCL. Next. So I know you guys are thinking, this is Python. This guy is not talking about Python. Fine. He'll come. So where is the embedded here? We're in the embedded segment, right? I'm an electronics guy. I want stuff to get smaller, not bigger. So we are not doing anything with Intel now. We replaced Intel with ARM. The CPU is only doing the memory transfer, right? It's just doing Neolux and control stuff. Why do we need Intel to do that? ARM can do that. And I put, I didn't put, any of you guys are doing what I'm saying. So any of you guys put a powerful GPU and coupled it with ARM. And that thing, it's called the Jetson toolkit. It can beat, it can beat like my laptop with Intel. So it has saved a lot of code for something. I'm just saying, those kind of chips are coming to the market right now. Tegra chips are hitting the market. So those are insanely fast. I'm supposed to do after this, right? Okay. So AMD is bringing 5G, 6G and stuff. With great clock frequency comes great power consumption. If you want to pay the bills, you pay. So CPU architecture is more about how fast can I do a single task? Latency. CPU is all about latency. How fast can I do a single work? But GPU is more like, how many tasks can I do? Everybody getting the difference? CPU, 5G, how fast can I do a single task? GPU is like, how many throughput? That's why they don't have 16 cores. They have hundreds of cores on SMD cores. Now this guy will take over. So let's see what we intend to do with our GPU. Basically, we have our application code which we may consider as consisting of some sequential code. Something like if the data is dependent on a previous input or such kind of sequential stuff. Let the CPU handle it. I'm not going to touch these kind of things and let the CPU itself handle it. But I have some kind of code. Something like computationally intensive functions. What this program intends to do is switch these contexts into a GPU and thus increase the throughput. And now, why do we need to use Python for GPU? Well, it's simple. We do know about design of Python. It always tells us keep it simple, keep it simple. So what GPUs are, everything that's scripting languages are not. They are highly parallel and thus what we intend to do is shift all the work which are highly parallel into a GPU and leave the rest of the things with the CPU itself. Thus you could see that CPUs are largely restricted to control and as I said, the CPU always depends on how many tasks I perform per second whereas GPU deals with how much amount of tasks do I perform. So if you integrate Python and QDA in order to do this kind of stuff we can do it with PyQDA as well as we have something called as OpenCL. Let's see what PyQDA is. See PyQDA was a baby of Andreas Koleskir. He mainly developed this thing because he was a great programmer. He was probably interested in this and he wanted to do and achieve his stuff much more simpler. So you could see that we have a kernel function which we need to implement on the GPU and this kernel is QRAC but sometimes it is not. We could totally perform the kernel function into Python but sometimes we need to make a compromise and let's see why we need to make that. You see this is the basic flow of the CPU stuff on Python.  That's for the CPU stuff but for the GPU stuff you need to specify the code which you need to specify some stuff that this part belongs to the GPU and this part belongs to the CPU and so here we just move on to something else over here. We have something called as a source module and this uses an LLVM and PTX. It has a PTX and then we have our stuff to be implemented on a GPU but you see the box over here? That whole box is of the PyQDA and we didn't literally do anything. PyQDA takes care of all our stuff over here. So again, it follows the design of Python, makes our task simple rather than following the blatant C code which if you follow the C code you need to follow all these things. So Python. Yeah, we could read that. That's a pun kept by my brother. So let's just go about the setup and demonstration of PyQDA. A lot of queries have been pouring in on how to setup this stuff and how to use PyQDA. So setting up the environment requires you... Suppose you are using a laptop with an NVIDIA GPU. You need to install its drivers first in the first place and then you need to import some basic stuff before starting your code. You need to import the PyQDA driver, some tools and the auto unit and then we have the heart of our GPU programming. It is called the kernel and in order to write the kernel, this kernel is essentially to say that this part of the program belongs to the GPU and it must be executed by the GPU. Thus, we use the prefix underscore underscore global underscore underscore. This tells us that this is the C function and this prefix tells the compiler to generate the GPU code and not the CPU code while compiling it. And inside this kernel function, what we have is our code and it also has a written type and the function name along with a few arguments. Let's see how this thing will look. What do we mainly intend to do with the threads is that we have some computationally intensive stuff. Suppose we have a fun loop and we need to do some iterative operation like 128 times. What my kernel does is instead of performing the 128 operations on a single processor, I made multiple threads and I performed the 128 operations on the whole 128 threads of the GPU and thereby reducing the time taken in order to implement this stuff. This is a Python conference but please bear with us. You need to know some of these stuff before starting out diving into PyQDA. We have the concept of blocks as well as threads and grids. You could see that block is essentially a group of threads and a grid as a group of blocks. This concept will be very useful for performing stuff like image processing and such kind of stuff like 2D processing, 3D processing. And so here is a basic example of how our kernel would look like. Consider the example of having a for loop and having to perform a multiplication operation using that for loop. What we are here doing is we are using a structure and we are taking that 128 loops and giving it individually to one single thread and thereby we are reducing the number of steps taken. You could see that this is how a simple kernel function would look like. Let's move on to some bigger examples in image processing as well as signal processing. I asked him to drop certain slides because you guys are already bored. You have seen too much code already. Is it not? Let's be frank. I thought why not show you some demonstrations. I want to show you big things. I just want to show you small things and show that you can do it. I don't want to show you big things. You can write this. You can do this. Everybody can see my code. View presentation. It's bigger. This thing is the simplest Palkida program ever. What this thing does is simply takes to arrays and multiplies them element-wise. This takes to arrays and multiplies them element-wise. That's all it does. I am taking exactly 2 power 16 elements. I am taking 2 arrays of 2 power 16 elements and multiplying them each. Then I am benchmarking. It's not even benchmarking. How much time is taken for the CPU and how much time is taken for the GPU? That's a goof-up. It's not a goof-up. It's not a goof-up. My laptop fell. You can see the CPU time is 7. This is floating right. It's 0.0007 something. The GPU time was 0.11. We were promising you that the GPU is fast. What actually happened in the background was, the GPU code has to be combined. This compilation takes place. One of them wanted to know how this compilation takes place. NVIDIA is not telling us, but what I know is there is a language called PTX. Just like this assembly for Intel, there is PTX for the GPU. There is the LLVM architecture to compile this C99 code into the PTX. That's what happens in the background. That is what's slowing this thing down. If I take 2 power 32 elements, this delay won't matter because that time CPU will be lodging far behind. We'll see that. Let me take this program with add.py. It's basically the same code as before. What all I'm doing is, even if you can't see, it doesn't matter, all I'm doing is I'm repeating the experiment over and over again. Each time I'm repeating the experiment, I'm increasing the number of elements by a factor of 2. Got me? I'm repeating the experiment 28 times and any time I do that experiment, I'm increasing the number of elements in the array by a factor of 2. So I ran it. Awesome. The CPU thing was slowing it down. What happened here was, and I can zoom in too much. What happened here was, can you guys see the difference? See, when I had 2 power 1 element, when I had 2 power 2 elements, when I had 2 power 3 elements and 2 power 4 elements and so on, the GPU was actually slower. Anybody got me? The GPU was slower, why? You see the delay is consistent and that delay is the time taken to compile the PTX code. But once, I hit a number like 2 power 20, 2 power 21, so you decide which is faster.  It takes an array of 2 power 64 size to actually kick the GPU out of slumber. So, and this is how the graph, this is the graph between GPU time versus CPU time. So as you can see as my element size increases, it's actually performed faster. I think this is exponential scale. And let me show you another program. What should I show? Anybody into fractals? Anybody? Ladies here? Fractals are self-repeating stuff. You take a triangle and on each side of a triangle, you put another triangle.  And fractal antennas are electronic. So, if you want to do a fractal on a pure Python implementation, it's real slow. It's as slow as finding the Fibonacci number of 3040. It's that slow. But GPU is real fast. And this fractal has a dimension of 2560 by 2560. It's just fast. I dare you to do this on pure Python or even Python. You can't get this speed. I dare you. I promised you self-repeating stuff. So, I zoomed this part, same thing. Zoomed this part, same thing. And I promised you stuff in signal processing and image processing. This is another example I have. Actually, I have a color image on my hard drive. It has RGB to gray. It's a very simple algorithm. But it's fast.  You won't notice it's fast. But the file size is really huge. The file size is really huge. And again, this is... Can you observe the difference? Can you observe the difference? The other one is black, right? So, this is a simple image processing application in PyQDA, where you just blur the image. Now, this is a filter. So, filter applied and stuff. So, I actually wanted to do something... So much more. But you guys are bored and tired, but I don't want to tire you any longer. But there's a lot of stuff you can do in PyQDA. Many, many times faster. Faster than Spark, faster than Medusa, faster than any other thing can run. Only thing is you have to learn how to use PyQDA and some...  So, what we do... What Andrea's character is trying to do is try to create a Pythonic wrapper. But I'll tell you what's the problem with wrappers. And the problem with being lazy is Monte Carlo. Anyone heard of Monte Carlo methods? You have Monte Carlo methods. Awesome. So, what we do in Monte Carlo methods is we simply keep doing the experiment again and again and again and again until we arrive at a result. We just keep doing it again and again. So, in this example, I'm calculating the value of pi. It takes some time.  Do you break anybody? So, I deliberately put this last. Okay. So, there is something you observe here. GPU took 19 seconds. GPU took 19 seconds. And CPU took like 0.06 seconds. Why? Why did the... Why did GPU fail here? Why did GPU fail? It failed because I was using wrappers. You see, easy this stuff. I didn't write C code like before, right? I didn't write C code like before. Are you something that calls another C code? When that happens, lot of memory transfer takes place. When you have lot of memory transfer, it will only slow the program down. So, if you want to test if your thing works on GPU, you can use wrapper. But if you want more speed and stuff, you need to go for pure C. Okay. Q and A session. Okay. So, just be careful when writing kernels. Any doubts? No doubts? Did we bore you? I'm sure we bore you, but... Which one, sir? This one, retracing. Is it doing ray tracing process? I'm not doing ray tracing, I'm just calculating the value of i. Oh, fine.  So, I didn't really tell you what formula I was using to calculate pi, right? I didn't tell you that. All I did was I put a circle inside the square and I started throwing stones. And then I counted how many stones were inside the circle. And then I counted the total number of stones. And the ratio happens to be pi by 4. Because the ratio between area of circle and square is pi by 4, right? Simple. Happy? Okay. There is one last thing that I'm not telling you. But which I want to tell you. You guys have been very patient with me, so I'm showing you this. So, people are asking, do I do ray tracing? Do I do stuff? What kind of stuff I do with pi cubeda? So, this is the simplest 3D example I have. Okay? Everybody, I hope this is the simplest 3D example I have. What I'm doing is, I'm again trying to calculate the value of pi by putting a sphere inside a cube. That's all I'm trying to do. And I'm trying to represent this process in graphics. So, and what is... The first code is this, is small, pretty small code. I don't want to scare you with hollow lines of code. Small piece of code. And I'm really relying on Qt libraries. Qt does most of the dual work and drawing stuff. And the other awesome thing is, they are not one but two GPUs can be used right now. Do you agree? Do you agree? They are not one but two GPUs can be used right now. So, my laptop is an optimized laptop. So, it has Intel CPU and Intel GPU and an NVIDIA GPU. So, whatever my NVIDIA GPU does is simply calculate. My Intel GPU draws stuff on the screen. And my CPU, it just coordinates the memory transfers. So, it takes some time to get over it but once you understand it, it's easy. So, basically this talk is all about a primer, a starting point. Anybody can do Qt, everybody should do Qt if they want to faster code. If your code allows it. Okay? I'm done. Anybody else? He has a query. You can switch on your mic. It's on Jithub. We put it on Jithub. It's on funnel. You could refer a funnel and... We don't know, we see one thing, one misconception I want to clear. We don't write a lot of code, we don't put a lot of code in Jith. But we put a lot of code in hard drive. So, we don't expect that code. So, this is a follow up question to the question you asked after the spark talk. I'm over here. Okay. So, you were like asking him if it was possible to use GPU computing for spark. I was. Yeah, but the whole idea of spark is everything is done in memory.  But that is not really possible with the GPU, right? Because if you are dealing with the GPU in a CPU setup in a massively parallel framework, your main bottleneck is going to be memory transfers between the CPU and GPU. So, that is at least my understanding. So, how exactly do you think that something like spark can be done using GPUs? Like Andreas Kruppner is trying to do here with my Monte Carlo stuff. I mean, this is not optimized. See, he's calling functions like this. Can you guys see? He's trying to call functions like this. I'm trying to do something similar, like if spark can allow it. Like spark had ML functions, like machine learning functions. Machine learning functions are basically some of them are parallel in nature. Autoregressive methods, T-var, n-var methods are actually parallel in nature. So, I was thinking like spark was, all the spark, a person was talking about parallel stuff. So, some of the code might be offloaded to CUDA or OpenCL. OpenCL is much more liberal when it comes to stuff like this. All we want to say is that just put the stuff which the CPU is good at with itself. Don't throw it at the GPU. But if you find something in your code that the GPU can do, like something parallel stuff, something really parallel stuff which you can eliminate, move it on to the GPU. That's what we want to see. A lot of map-reduced stuff can be done on GPU. That's really fast. Map-reduced is really fast on GPU. Any other questions? I was a little confused on your last line when you said two GPUs were being used. That is the same for all the processes where you were doing using GPU, right? Maybe. It's a likely scenario, right? It's a likely scenario. We'll see. When I say MSPCI here, it shows both Intel and N-Area. But when I do MSmod, the N-Area driver doesn't show up. But when I do MSmod, why are the programmers taking place? I think both of them are running at the same time. See, NVIDIA doesn't talk about what happens in the background. There's a problem with that. AMD is really liberal with their code. So if you want to know what happens with AMD, you'll know. But what happens with NVIDIA, you'll know. Everybody knows. Okay, thank you. Questions? Oh, a lot of things. Don't be hard on me. Just one question. Are you running Bumblebee? You said you have an optimist laptop, right? Bumblebee. So the last time I checked Bumblebee, it was a pain to get NVIDIA and Coda to work together. So has the situation improved? Not quite. I'll show you. I'm trying to increase the screen. But can you read the font over there? I'm using Manjaro. I'm not using Ubuntu. Like if I use Ubuntu, Federer, and all these mainstream distros, you know, the problem with the open source community, I mean, I don't have a problem. They have egos this big. They have egos this big. Like, no, this is open driver. I want an open system with open drivers. Here, you don't know how the hardware works. How can you design a damn driver? So, leave the stuff to the professionals. You can't do drivers, you can't drive them. They don't need the hardware that you have. But Ubuntu is trying to do, like, my driver, my display server, my drive, my stuff. Doesn't matter. If you want to do, if you want to do Paikiran, Linux, please use Arch or Manjaro or any other Slack or stuff like that. Non-stream distros. So, one last question. So Paikuda, the examples only contain a C code that is being wrapped and executed on the GPU, right? C code is not being wrapped here. Oh, oh, fine. I have some problems. Basically, in every Paikuda example, I've only looked at the examples, by the way. So there is always a sizeable amount of C code there. There are some QDA programs which are absolutely no amount of C code. But C code is only in the background. So it is possible to escape avoid writing C code and still have to and still make things run on the GPU with the Paikiran. You don't want to, we're basically trying to put in C code at all, right? Yeah. You can. See, NVIDIA teams up with continual analytics. Of course, yeah. And they're trying to bring a Numbapro accent rate. I know that's why it called it. Numbapro accent rate. Is it going to be free?  Numbapro itself doesn't have that functionality. It's only Numbapro which is not free, right? Numbapro is an open source. So Numbapro which has this feature, GPU acceleration built in for Numbapro. And even that is half, but it's because, sorry. Numbapro's implementation of GPU, you still need to have a knowledge of threads, blocks and stuff. There was two years ago, my memory is fading, but two years ago, there was this project called Copperhead. There was a layer. Yeah. It really resembles STL. Yeah. Still there, yeah. So you can do, like Copperhead, allow them to be pure. Pure. That is not being maintained. I don't know why. Theor is not being maintained or Copperhead is not being maintained? Copperhead is not being maintained. Okay, thanks a lot. Any other doubts? We'll take your hands up. That way. Which game? Yeah, hi. So it was my understanding last time I checked that the consumer level GPUs only run single precision calculations. Is that still true? No. See, the QDA, I'm not sure, I'm not so sure about OpenCL, but with QDA, they have this compute number, right? Compute 1.0, like compute 3.0 supports double position, I believe.  I don't have real crappy GPU. So you check. My thing is like 5, 4 years old. Okay, so we would just wrap this up. So give a round of applause for them. If you... I guess you people are interested in that. So if you want to catch him, you can catch him afterward because we have got a session here right now. And a pretty interesting one.


I should say a few brief words, but every very brief I think my understanding is that we have the room just for one hour. I want to on one place much of it. I should also add now if anybody wants to join us for a little drink or dinner or do something more for the discussions. Everybody is very welcome. I'm Lutz Martin. I'm half in the Africa section, half the Linguistic section, and it's my great pleasure to introduce Tanja Kutheba, who is a well-known guest here, so she's a research associate of the department for many years. She's been here many times. There was an interruption during COVID, but they couldn't travel, so we kept in touch online. But now I think this is the first time you're back in London after a while. That's true. This is last year. Yes. Oh, no, here we have last year. That's true, but still, but we're sort of still gathering place. Tanja is in the English department at the Heinrich-Henry University, and Düsseldorf so her background is in English linguistics, but she has worked extensively across a range of languages, in particular on the theories of grammatization, language change, language contact, and she is a very well-known person in the field. One of the books I really like is worked with Van Thijne on language change and language contact in 2005. You've also got an auxiliaries quite extensively, and most recently on discourse grammar or interactional grammar. I think you also talked a little bit about that in that talk. With that, I think I leave the floor to Tanja. It's a great pleasure to have you here. It's also actually the inaugural talk of the new linguistics seminar series. We're going to continue Wednesdays every two weeks, I think we're saying, to have groups of speakers. It's really nice to start the series with Tanja. Thank you for being here. Thank you so much. I'm always delighted to be back, and thanks a lot for this wonderful introduction. Well, so this is actually a very, very much of a pilot study. It is a joint study with my two Korean co-authors, Professor Sampani and Professor Sunki Yahe. Ben Tsaragane is somebody from, actually, the scholar from Isfahan University, Iran, and also associated with the Hand-of-the-Kind University, which is also the university of which I am based, and Dana Chandra Menendez, who is associated with the Hand-of-the-Kind University. As you can see, I mean, we have several quite different languages here with native speakers, Korean, myself, Bulgarian, Persian, and then Dana is a speaker of Spanish and Indonesian. So she's a bilingual speaker. Right, so it's a very fearful title, fear, across languages. Let me very quickly walk you through the structure of the presentation. After a brief introduction, we will talk about the theoretical preliminaries that we're using in this study. Then we'll take a look at the expression of fear across languages in what we've termed sentence grammar, and then it will be interactive grammar, maybe these two terms are new for you, so I'll take some time to explain them. And then we'll go on to section five in which we'll try to give you a bigger picture about how the emotion of fear is expressed in language, and then we'll come to the conclusion section. So here, I mean, in the literature, there have been two major series of emotions, so two major views on emotions. On the one hand, we have the classical view of emotions, which was proposed by Paul Ekman and his associates decades ago, according to which there are at least five, some called basic emotions. Of course, you can all guess, I mean, for us in Western, I mean, here in this part of the globe, at least joy and sadness, fear, anger and disgust, at least these two are considered to be basic in this framework. And interestingly enough, each of these emotions, I just claim, has a distinct fingerprint or signature. So what does that mean? It means that each of these emotions is experienced in the same way, not only is it experienced in the same way by all human beings, but also the representation of each of these emotions is universal. So the same facial expression is used to express each of them, fear included, everywhere in the world, and these are recognizable everywhere in the world. This view, the classical view of emotions predicts that each basic emotion correlates with a particular body-related physiological pattern, thank you very much, physiological pattern of behavior, and also a particular brain activity circuitry. Now, opposing to this is the more recent so-called construction theory of emotions, which has been elaborated by Lisa Feldman Barrett and her associates in a number of actually over 200 articles and more recently in two books, one in 2017, how emotions are made, the secret life of the brain, and the more recent one, 2020, seven and a half lessons about the brain. So according to this theory, the standpoint taken is actually radically different here, namely, emotions are not universal. There are no basic emotions.  What an emotion is is different for different people and different cultures. In some cultures, there is no real distinction between thinking and feeling. And actually, I'm going to give you an excerpt from an interview with Lisa Feldman Barrett several months ago, which I think is very interesting. So what she says is, not everybody has emotions, even more shockingly, in some cultures, there is no real distinction between thinking and feeling. In such cultures, thoughts and feelings are part of a unified whole experience. There is no distinction between them. And actually, the neuroscience seems to suggest that that's probably more correct. So I can already see on my expressions on your face, this is extremely counterintuitive, isn't it? Anyway, in her work, and also the work of her associates, there is this attempt to build, let's call it a window on emotions from the perspective of psychological neuroscience. Okay, we are linguists and as linguists, the question is, can we, from a linguistics point of view, also have some kind of a window on the reality of emotions? So our goal here is to test the classical and the construction theory of emotions, these two theories, opposing theories, from a linguistic perspective. As you can imagine, this turned out to be an extremely humbling experience, very intriguing, fascinating area of research, but very, very challenging and difficult. And I have to say once again, it is very much a pilot study. So the question that we are asking here is, does the linguistic realization of emotions support the views that they're universal, that each has a distinct fingerprint, as the classical view would have it, or are they cultural constructs as argued in the construction theory of emotions? Object investigation here is one particular emotion, which has traditionally assumed to be basic and universal, and also automatically triggered, may be fear, hence the title. A basic assumption, emotions and cognition cannot be separated, this is not even an assumption, it has been established already in a number of works, so they are to get emotions and cognition. But we assume that cognition is manifested by language, also somehow very ready, a very great assumption to make. We assume that language reflects how we conceptualize the world, and language reflects cognition and emotions, as they cannot be separated anyway, fear included. But is this the whole story or only half of it? Does language play a crucial role in how we conceptualize the world, and how we experience our construct emotions? Our claim is that from a linguistic point of view, the emotion with fear has no specific fingerprint, rather variation is than normal. Because what we observe is that different expressions can be used to express the same emotion, and the same expression can be used to express different emotions. So to this extent, the expression of fear in language is compatible with the construction theory of emotions. There is a caveat, the variation in the linguistic expression of fear is not unconstrained, it's not a random mess, nevertheless. So let me now very quickly go through the theoretical preliminaries, through the theoretical concepts that we'll be using here. So the concepts that I need to introduce at this point are three, actually. Discourse grammar. Discourse grammar is the overall amount of all linguistic resources that are available for constructing spoken, signed, or written texts, everything that language users have at their disposal. And within this overall amount of linguistic expressions, we make a distinction between two domains of linguistic organization, namely, everyone has sentence grammar, and on the other hand, surgical grammar. This is a distinction that we've made in several words since 2011, actually, that the first word was, I came from, no, I came here 2009. But 2011 is the first publication that we had on this particular theoretical framework. And so here you have a, in figure one, a sketch of discourse grammar. As I said, this is about the linguistic organization operating on at least two different place, sentence grammar, the one hand, ethical grammar, and sentence grammar is actually what is the object of investigation in mainstream linguistic literature. It's organized in terms of parts of speech, acoustician types, sentences, words, morphemes, et cetera, and the syntactical and morphological rules that relate them. And physical grammar comprises physical categories, and they can be a word, a phrase, a clause, or chunk of text, which is extra-clausel, which is independent from the clause structure. Here we distinguish between three types. They can be instantaneous, they can be instructional and formulaic. For us, what will be relevant is the last type, third type formulaic seticles. So this is the contents of what has been also proposed and elaborated most recently in the framework of interactive grammar, which Matt Heiner has proposed and it will come out in the Oxford University Press in 2023. So we'll be talking about discourse grammar, sorry, we'll be talking about, actually, we'll take a look at sentence grammar and then interactive grammar, because this is, you know, about these are the planes at which linguistic, we can expect linguistic realization of the emotion of fear. But we come now to interactive grammar as a distinct domain of language organization. With an interactive grammar, Matt Heiner makes a distinction between 10 main types of interactive, so you have expressions which are attention signals like, hey, directives, discourse markers, for example, indeed, evaluatives, great, brilliant, ideal thoughts, thought, interjections, out, wow, response elicitors, right, response signals, yes, no, social formerly, like bye, bye bye, vocatives like mom, sir, ladies and gentlemen, etc. So as you can see, there's quite some diversity here, even though they differ, however, each of these can occur on their own. So they're not integrated into the causal structure. They are extra causal constituents. And here's the definition of interactives. An interactive is an invariable, the ictic form. Why the ictic? Because it is embedded in a concrete discourse, but not a situation. So an interactive is an invariable, the ictic form that is in some way set off from the surrounding text, semantically, syntactically, and prosodically, and can neither be negated nor questioned. So you cannot negate it. What is your question? Now, we're passing on to the linguistic expression of fear. And first, we'll take a look at sentence graph of the ordinary orthodox grammar. So what do we find across languages? We find what we've termed transparent, or straightforward, fear morphemes, right? Like in English, you have words like to fear, to be frightened of, to be afraid of, to have fear of, for fear of. So is it fear afraid? These are the lexical, the lexives. In English, fear can be expressed in different word classes. You can have it as a noun, a terrible fear struck his heart. Adjective, he was afraid, of a John Fjord Mary. In French, this is an example of no fewer than 16 different lexines for different subtypes of fear. Of course, here we can, you can say that this is a language with a very high granularity of the emotion of fear, very, very fine distinctions. My favorite ones are, you can even have a fear of books, also a fear of knowledge, and even fear of beautiful women. But of course, as you can imagine, if we go to that level of specificity, right, which is a very low level of generality, of course, you can expect, you know, large number of words for fear. But we are actually interested in basic level, so to say, no, basic level, in expressions of fear, basic level expressions. So even if we look at basic level categories of fear, the way that they expressed in language, even then, even in related, in closely related languages, geographically and genetically, we see that languages can behave differently regarding the way that they encode fear. For instance, in English, you have the basic level word, fear. In German, for fear, you have two counterparts for English, we have angst and furcht. And here I have, you know, because words came to Dusseldorf several months ago, and he gave a wonderful lecture with an analysis of the expressions of fear in Bantu languages. And here I have selected five different leg seams that was identified in Swahili, that express fear, so you can see how the adjective be fearful. Then from that adjective, if there is a noun derived, then there is a verb derived, but then there is a totally different leg seam, cha, which is to fear, to revere, then we have another different leg seam, fear, be scared, be frightened. And then you have two more words to nouns, which are loan words from Arabic, right? So you see, there is a difference in the number of fear as basic level notions. So this is what we observe when it comes to straightforward or transparent, I would say, expressions of fear. Now, very often, fear is expressed by means of expressions, which are somehow related to the body, to the physiology or to body parts, right? So these are also called physiological metonyms, right? So a number of linguistic expressions of fear relate to the physiology of the human body. Frequently, it is verbs like tremble, shiver, that we find in such expression. Now we have a Chinese speaker here and also another one, all right? But anyway, as you see, I mean, one, this is a co-author from another book, from another study, hyping long. So he gave us this example, it should be correct, right? So you see, in Mandarin Chinese, you can use the verb for tremble as well. And interestingly, body-related expressions, which involve physiological states like trembling and shivering, they can be called fear, but it's not only fear. Often, it is also another negative emotion, namely anger. It's really very, very often the case now. This is why people speak of fears and angers. There was a conference several years ago between Mary, and the whole conference was on fears and angers. So this is really something that you find very often. One of the same linguistic expressions can start either for fear or for anger. And here is again our Mandarin Chinese example, where you can say that being so angry that one is trembling, of course, I dare not use my Mandarin pronunciation. It'll be a fiasco. But that's the expression. But it's not only fears and angers, both of which are negative expressions. It is also very often the case that one of the same linguistic expressions which stands for something that's negative as fear and anger also can be called a positive emotion, something like excitement, like joy. So that's really interesting. Positive emotions can also be encoded by linguistic expressions for fear. Now, even more commonly, linguistic expressions for fear relate to body parts, terms to body parts, or liquids in the body. Very often you find expressions which involve the heart, then the skin, very often, goosebumps. Body fluids such as blood, sweat. So in Germany, you have Gen Zihang becoming to get goosebumps. In Korean, it is, it's not goose, it's chicken. Some kind of poultry, right? To get goosebumps, chicken skin. In Chinese, as far as I recall, it is also chicken, isn't it? Right. So irrespective of the kind of poultry, then no, it's the same notion, roughness of the skin, right, which is foregrounded. Now, interestingly, fear expressions which involve body part or liquid or liquid terms, they vary a lot across languages. With respect to the body parts that are involved, I think in Mandarin Chinese, there was something about intestines and very, very, very expressive intestines and stomach. I'm sorry, I couldn't include also this example, but very interesting. And there is also a variation when it comes to the number of body parts that the particular language chooses to use in these apresio-vortical expressions, in this learning was the expressions. And Korean is a champion here for the time being where you can have no fewer than 16 body part terms, which I have three slides with the examples, but I'm not going to give you the concrete examples here. Let me just mention the body part terms. It's about hair, hamstring, bone, sweat, all four limbs, lips, teeth, tongue, jaw, back of neck, body, hands, spine, heart, liver, and the knee, right? And then of course, so you see languages make different choices. We don't have time for the concrete examples from Korean. Now, metaphors of fear, it is possible to identify metaphors and metaphorical expressions that languages have at their disposal in order to express fear. A very common metaphor, at least recent cultures, is fear is fluid in a container. An example would be in English, the sign filled him with fear. In Turkish, you have something very similar. So in order for you to say, I'm filled with fear, you would use fear in the instrumental case, and then the verb fulfill first versus single present. Now, it turns out that metaphors of fear are based on cultural schemata. There is a lot of variation also to be observed across languages here. Manjit in 2012, a very nice study on emotions, points out that so a language spoken in the highlands of Taiwan, this is a language which has, which makes very little use of metaphors for emotions in principle. And this metaphor, fear is a liquid in a container just does not exist in soul. There is quite a variation of, I mean, when it comes to metaphorical expressions of fear. But now we're passing on to the expression of fear. We're still with this center's grammar, but we're looking now at the Dome grammar, grammaticalized expressions. Until now, it was all the lexicon, right? The transparent lexical morphemes, then we had body part, term, physiological units, metaphors. Now we're looking at grammatical categories. Are they grammatical categories? In the first place, grammatical categories are called fear. Interestingly enough, there is such a grammatical category. It has been termed, it's actually a misnomer, apprehensionals who speak of apprehensionals in the plural, because they do exist, grammatical morphemes, which can be used to express fear. And these can be found, both in the nominal domain, so with nouns, as case inflections, and also in the verbal domain, the so-called last clause construction. First, let's take a look at the aversive case, which is the grammatical morpheme in the nominal domain. So aversive case inflections are descriptive. There is this example from Yidini, which is an Aboriginal Australian language, where you have the suffix as a marker of aversive nominal case. It has scope over the noun phrase, expresses fear that is not necessarily that of the speaker, but maybe that of the agent of the main clause. And here is an example from Dixon. Mother is frightened of the dog. So as you can see, in the last word form here, Yida is the suffix marking the aversive case. Now, there is also within the verbal domain the so-called last clause construction in English. An example would be don't go to near the fire, less to get burned. This list actually goes back to a combination of three morphemes, which is thereby less than. There is a very nice study done on that. We don't have time for the details here. But the important thing is that this list, this subordinator, is the result of a long grammaticalization process. And what you have today is, oops, something happened. Did I press something? Okay. So this list construction consists of two clauses. It can encode feared or apprehension causing verb situation, which is to be avoided, whereby the feared or the apprehension causing situation is generally portrayed as counteractual. Less causes however, they're not only about fear. In fact, when they were first identified as grammatical expressions that was back in 1977 by Dixon, they were not, I mean, the first examples of the last clause construction were about undesirable situations that were to be avoided, not necessarily about fear. It was later on that more and more examples were identified. Even in an example from Kobukota actually chambers, she was a student here and then she did her PhD here. As you can see, this is a, I mean, in this example, which is current, I mean, it has nothing to do with earlier stages of language. If you want to say, I've just cooked and you'll eat, lest you be hungry. There is nothing about fear here. It's really about a desirable situation. So it was only later that less causes were identified as possible grammaticalized expressions of fear. And in fact, recent studies of apprehensionals show that expressing a feared situation is only one of at least two functions of apprehensionals. So this is what made us, I mean, Korean co-authors and myself to propose the term avoidive, instead of apprehensionals, because it's just maybe we think it's a misnomer. If we assume that the linguistic expression of fear is basing or universal, limited variation with respect to the kind of structures that come to functions apprehensionals is to be expected. But observations show that the grammaticalization paths that lead to apprehensionals show quite some variation. So what we have as grammaticalization paths to apprehensionals is you can have a construction with something negative like in English, you can have something involving a temporal marker, then you can also have a construction which involves visual perception, namely the verb to see, or the construction which involves cognition, namely the verb to think that the latter two come from Korean. And here I'm talking about more advanced grammatical morphemes of our fear, but especially if we take a look at less advanced, let's say lexical grammatical expressions, then we see even more that we observe even more a diversity of grammaticalization, lexical to grammatical developments. So it's not only negation in temple, here you have the concrete references, the concrete languages, but it's also purposive notions, manner notions, like for instance the lexicon for order, lexicon for cut, or bite, or hit, or strike, or kill, or break, come, accomplish, etc., that have started on the way of grammaticalization, but haven't reached that advanced grammaticalization starters. So the point is that there is variation, even more striking when it comes to the number of grammaticalized structures that can express fear in different languages. So there are languages with no grammatical morpheme for fear. English has no grammatical morpheme, people mentioned it less. In German, there is no such grammatical morpheme, we use the mit, but the mit is absolutely neutral. There are languages, like Korean again, which has no fewer than 10 grammatical morphemes for fear. The extent to which they have grammaticalized is not the same, some of them are more grammaticalized, more advanced, others are not. Nevertheless, it is possible to identify no fewer than 10 of them. So the variation which is observed here also indicates that there is no specific fingerprint of fear in the linguistic expression of this emotion in sentence grammar. So we're still in sentence grammar covering the lexicon and now it is the dominant of grammar. We can say that the observation is one sentence grammar unit may encode more than one emotions, one expression may encode more than one emotions, fear being one of them and fear may be encoded by more than one sentence grammar units, more than one expressions. So it is not possible to claim universality of a specific signature in the expression of fear within sentence grammar. Now I told you that within discourse grammar, if you remember this figure with discourse grammar on top and then we had sentence grammar and thetical grammar. Thetical grammar has been proposed to be evolutionary primary and in that case more basic. We have argued this in a couple of papers. So it seems more promising for us to look for universality, if we're looking for universality, in the expression of fear in thetical grammar, not in sentence grammar, especially if we look at interactives. Do you remember all these bits and pieces, extra-closal, like directives and attention signals, hey, and formulae of social exchange, bye, hello, all these little fragments which are extremely important for communication interaction. So that's where we're going to look at now, hoping to find universality. So expression of fear, interactives of fear across languages. It turns out that of all interactives, interjections. Interjections was like, wow, oh my god. Interjections occur most frequently as linguistic expressions of fear. And we clearly see like three types of interjections in this particular case. We have primary interjections. We have secondary interjections which derive from bulk tips and secondary interjections which derive from expletives. There are also some evaluatives. Evaluatives, these are still interactives like right, brilliant, responsive liciters, like right, and directives, but they're less frequently used. So let's take a look first at primary interjections. Here in Persian you have, you know, you have the counterpart of the English O. In Bulgarian, well, Bulgarian is my mother tongue, so I'm always happy to give you an example. I can read aloud and not feel uncomfortable. So primary interjection, it's a single word. You know, if you ask me, I don't know what it can be traced back to. It's quite a long word, olele, right? It doesn't mean anything actually, to me at least. And I don't think that there is anything wrong about the etymology of this. But translated in English, it'll be, oh God. Here is an example. So I'm going to read to you the translation. She saw the figures coming closer, quietly towards the bed. Oh God, what now? Her muscles were so stiff that she was afraid she will never be able to move. So this is an example of primary interjections. We have secondary interjections, which derive from vocatives.  So here's an example from English. I'm driving, the person A says, I'm driving, there is this big bag and the whole bonnet lit up, oh God, the person B says, oh God. So this is a secondary interjection, deriving from vocative. It's originally, it was like asking for help, turning to God for help. In Persian, we have the same thing. And interestingly, in Persian, you can also use the kinship terms for mother and father in the same function as the expression of fear, right? In fact, in Bulgarian, you can also use, I'm still here in Bulgarian, you can also use the word for, for mother and you use it in fact as the diminutive as an expression of fear. I know when you're telling us and saying, mama mia, also when you're in a fearful situation. The third type of interjections divide from expletives. This is a very rich source for, for expression of fear in English, you see some of them. I'm sure you know more. There is one, one example here from Spanish, also deriving from expletives in Bulgarian. Okay, so expletives, I think it's a clear case. Now, another type of interactive, in addition to interjections, is evaluatives. So that's an example of Bulgarian, from Bulgarian. Here you can use the noun horror. I mean, in a fearful situation, I'm not going to go through an example because as I can see, we don't have that much time. Then we have response elicitors. These two can be used as that's another example from Bulgarian. There is a combination of two particles, and if you want to say, you sound weird, you're sick, you don't have a cold, right? So that would be a response elicitor, but this, this is also something that can be used in a fearful situation. So what we can say is that in interactive grammar, interjections are the most commonly used linguistic realizations of fear. However, there is no one-to-one match between one particular interjection and the emotion of fear in individual languages. There are more than one interjection that can express fear. And on the other hand, the same interjection can express several emotions. So we have the same correlations here. And that's another example from Bulgarian, where you can see that there are no fewer than five nouns, which, when they're used in their vocative case form, can be used as expressions of fear. These nouns are God, and you see the vocative form for God is absolutely different. Not very different, but it's a distinctive form. Bok is the in-marked form, boge is the marked form. Anyway, it's a clear distinction that you have a vocative case. And interestingly enough, this can be used not only in fearful situations, but also in order to express joy, right? So again, we have a combination of both negative but also positive emotion encoded in one and the same interactive, in this case, interjections. So same thing with evaluative interactives and same thing with responsive visitors. So we can say that we find no evidence for the existence of a specific fingerprint within the domain of interactive grammar as well, where we actually hoped that it will be much more feasible for us to find some universality. Okay, so we're passing on to the next section, which is an attempt at a bigger picture of the situation of linguistic realisation of fear across languages. So as you could see, we examined several which are graphically and genetically related and unrelated languages here, and we observed that fear does not have a specific linguistic fingerprint or signature. Rather, it is a way to be part of a culture using the words of Vatiya Miskita in a very interesting recent book that she she wrote. But I mean, she's a cultural anthropologist and psychologist, but here we as linguists can also say that. And interestingly enough, this puts us in a position to make predictions or a verifiable hypothesis. For instance, we do not expect that the people living on the island of Bali in Indonesia have specific interactive vocalisation to express fear for the following reasons. Now when I say interactive vocalisation, you remember, we talked about interactives, when you're scared to say, oh my God, right, or something like this. Oh, wow. But in the example that I'm going to give you now from Bali, we have a very different situation. When people living on the island of Bali are afraid, they are reported to fall asleep. Or at least that's what they're supposed to do. According to Barrett, that's a construction theory, falling asleep might seem like a strange thing to do when you're afraid. If you're from a Western culture, you're supposed to freeze on the spot, widen your eyes and gasp. You can also squeeze your eyes shut and scream like a teenage babysitter in a bat horror movie. Or you can run away from whatever is scaring you. These behaviours are Western stereotypes for proper fear behaviour. In Bali, the stereotype is to fall asleep. Now, if we have this as linguists, knowing, I mean, having made the observations that we made, we actually, we can formulate this hypothesis that there you wouldn't expect a specific interactive vocalisation. We haven't checked that. But it's a little bit extremely interesting, you know, to do research there. As I mentioned, I have to repeat it again. It's a parliament study. Now, when it comes to the experience of fear, are we as analysts of language in position to either prove or disprove its universality across languages and cultures? In many cases where an individual language has a linguistic expression for fear, how can we be sure that the users of that language have the same concept of fear as the users of another language? Here is an example for the role of culture in conceptualisation of the emotion of fear. In Indonesia, there is a distinction made between two forms, two lexemes. One of them is Gary and the other one is Takut. The first one, Gary, is used for fear of things. For example, fear of heights, fear of things and objects. Then you would express Gary, are you a speaker of Indonesian? Because you're nodding so understandably. Okay. Are you like the idea? Oh, I understand. Oh, I understand. Okay. You have a very expressive face. Okay. So for fear of things and objects, you use the form Gary and for fear of people or of their actions, you use another one, namely Takut. Now, Spanish, German and English have several synonyms for fear, but no such differentiation as in Indonesian exists. But can language provide us with a diagnostic tool for the existence of fear is a basic universal emotion with specific fingerprint or signature? Our observation here is that different linguistic expressions can be used to express the same emotion and the same expression can be used to express different emotions. From a linguistic perspective, we observe no specific fingerprint for fear. And this is compatible with Barrett's view of her subject, view of emotion, because they also find that the same emotion category involves different bodily responses. None of the bodily responses are unique to one single emotion exclusively. So our observations favor definitions, the definition of emotions that Barrett proposes, which is a way for our brain to make sense of what is happening on the basis of three sources of information, the internal physiological state of the body, interception, how visceral organs are doing their state, external stimuli and individual past experience. So it's not about, it's not like our emotions are triggered by external stimuli. It's much more complex than that. And this suggests that the linguistic expression of, so our study suggests that the linguistic expression of fear is culture-based. And the role of culture can be seen even clearly, even more clearly if we consider the study that I'm going to show you now, the results of which I'm going to show you now, where there is a visualization of fear proposed for two languages, English and Lithuanian. So this study, 2006, has, we have to go. Oh, okay. Can I say, how about this? And the next one is this one. It's an animal. So this one is a human and this one is an animal with different characteristics that you can see. So that's, that these are the visualizations of fear into different languages. So what we can say is that our observations, fame of Barrett's construction theory of emotions, classification into universal basic emotions, fear included is Western based culture plays critical role in how fear is constructed and expressed in language. People of the same culture express themselves in similar ways. People from different cultures may express feelings or thoughts differently. This does not contradict the fact that there are also similarities between the fears across languages. And the reason is that there are similarities between the historical, religious and cultural elements of different cultures. And I'm done.