Finally get through OpenCL's Hello World in Kotlin. Computing 3 million times sin and cos using GPU, total time is 456ms, 105ms is used to compute and read result back to CPU. On the other hand, CPU takes whole 891ms to compute cos and sin. Which I guess it's more convinced for me to just say "GPU is good for parallel computing". The result is more vivid than sentences.

After doing this, I though LWJGL's document on OpenCL is really bad. What all I referenced are Java test codes and C++ codes. And I rely on my experience a lot to debug it. It looks like JOCL's binding is more object oriented and more user friendly. But LWJGL is offering a integrated package of OpenGL, GLFW and OpenCL binding, which I guess I have to stick with it for now.

Besides auto converting Java bytecode to OpenCL kernel, Aparapi seems much easier to get start with. Without dealing a lot of data copying and buffer creating things, life is much simpler.

I might write a blog(in Chinese of course, since I'm a Chinese, maybe I'll commit this program to LWJGL as a OpenCL HelloWorld) to describe where you should take a good care with LWJGL's OpenCL binding, where I actually crash the JVM by doing it wrong. (BTW, using println to locate the crash point is way faster than step through XD)

Learned a lot about general computing on GPU via a youtube video.

Besides OpenGL compute shader, I'd prefer using OpenCL to update tons of units concurrently. I'll give it a try, but it seems like LWJGL's OpenCL binding is not well documented and only a few examples are given. Maybe I'll go further deeper in it.

youtube.com/watch?v=BjdYRtL6qj

一切「此时」皆会成为历史
一切「历史」皆会成为未来

I think my current password are used for last ten years and somehow I still didn't change it and relay on the 2FA to protect my account

What's more I only have one yubikey and doesn't have a backup for those 2FA identities.

Well... That may not be a good practice.

via @Johann150

fosstodon.org/@Johann150/10565

Now I achieved 11+ fps with GLSL shaders to draw a colored circle. This circle has been sliced into 30e5 segments and CPU only give a index of each segment, then shader computes each vertex's coordinate and give them color.

I think that is a nice try for a OpenGL beginner.

Encountered a mind-blowing problem with OpenGL.

When I finally drew a circle using LWJGL with OpenGL, I tried moving my code from glBegin/glEnd calls to VBOs, and today I tried to make my code using shaders. And problem is here.

I draw a circle by slicing it into some segments and calculate the coordinates of points on the edge, then I can use GL_TRIANGLE_FAN or GL_LINE_LOOP to draw a circle. I randomly choose a color by assigning red equals cos(theta), where the i th theta is 2 * pi * i divided by total segments.

If I draw the circle using GL_LINE_LOOP, the color on the edge is correct, where only theta in mines pi to pi is positive number, thus given the red color, which should be the right hand side of the circle. Picture 1 is a compare that on the left I used GL_COLOR_ARRAY client state to draw color, on the right side I use shader but calculated cos before fragment shader(both in CPU part and vertex shader, they are same in result). In picture 2, I calculate cos value in the fragment shader by the theta passed by vertex shader. And it shows on the right of the picture, which is pretty odd.

I knew there other stages between vertex shader and fragment shader, but how they effect those color or theta value? Also on the left side of picture, color gradient given by fixed pipeline also seems a little bit weird.

BTW I have no ideas about where to find those documents. LWJGL doesn't have a detailed document on OpenGL(which I guess they of course not have one), and on the OpenGL side, the documents are just overwhelmed me...

Medicine always amazing

As soon as I take the first pill, my nose feels much better.

have a cold with pretty strong symptoms
95% percent sure it's not covid 19

I feel so fucked up by just having this little flu (I guess), I lost my towel and struggled to finish my passages. I felt like I'm broken and I knew that shouldn't be that hard, but I can't finish that properly. Anyway at least I finished that and found my towel.
Now I somehow understand the feeling who has severe disease, feeling of frustration. A friend of mine has struggled with cancer for several years and it's really unbearable.

Symptoms from flu and the friend trying to fighting the cancer, both make me feel sad.

It's 11:30pm in UTC+8,
I think I'd better go to bed now.

Everybody goodnight 😴

太强了,人均BiLSTM CRF,我记得去年搞这个,因为dl4j没有CRF层,于是用了一层attention代替,结果效果极差

可能还是语料太少(指用整个中文维基作为语料)吧(逃

via @Candinya

nya.one/notes/8k5ljleis9

I rerun the code this morning and it didn't crash.

I didn't change anything and it just magically runs. But still I can't see anything on that window. My OpenGL codes probably still broken.
QT: qoto.org/@skyblond/10599631529

天空вℓσи∂  
I want to draw a circle using lwjgl (with OpenGL as underlying library) as a hello world program ...and the jvm just keep crashing Fine. Anything...

I want to draw a circle using lwjgl (with OpenGL as underlying library) as a hello world program

...and the jvm just keep crashing

Fine.

Anything related to C++ is hard.

This is why we can't have nice things

This video is about stuff: light bulbs, printers, phones and why they aren't better. Go to NordVPN.com/veritasium and use code VERITASIUM to get a 2-...

youtu.be/j5v8D-alAKE

Sorry, I don't support communism. I don't support capitalism either.

I only support freedom, and love. My motto is, "if it doesn't hurt anyone, then do it".

It's complicated, I know. But that's how it is.

作为一个被内卷思维影响了迄今为止的大半辈子的做题家,我这辈子可能都很难摆脱内卷思维。

我人生中大多数快乐来源于“卷赢了别人”,大多数痛苦也来源于“卷不赢别人”。我不喜欢说“中国人都怎么怎么样”这样武断的话,但我还是想说,中国人真的太他妈喜欢卷了。

内卷国的人不仅自己内卷,还喜欢把不内卷的人拉进内卷的赛道,然后从卷赢他们中获得快感。内卷思维渗透进了内卷国人思维的方方面面。内卷国人要鄙视台湾人的小确幸,因为他们不努力谋求经济发展。鄙视美国人口算小学数学能力差,然后为自己被机械化训练出来的那点破心算能力洋洋自得。我一直以为湾区程序员是全世界最快乐的群体,等国一堆高级做题家跑到湾区接着卷,我总package比你的高,我房子比你的好,孩子比你的有出息。哪怕没有内卷的跑道,内卷国人也要自己铺一条出来。赚了多少钱写出了多棒的代码都不算快乐,卷赢了别人才是真的快乐。

一旦听到身边的朋友们开始讨论起学业或是offer我就觉得焦虑。我很难发自内心的为他们感到高兴,我只会暗戳戳的想“他比我优秀多了我卷不过他”然后越发焦虑。我为内卷国的人,更为我自己感到悲哀。

New configuration

Dual screen works fine for me.

Another use of dual screen is laptop for gaming guides, monitor for switch XD

应该是我遇到过的最帅反派了
他竟然讲道理

史克威尔还是牛逼

Show more
Qoto Mastodon

QOTO: Question Others to Teach Ourselves. A STEM-oriented instance.

An inclusive free speech instance.
All cultures and opinions welcome.
Explicit hate speech and harassment strictly forbidden.
We federate with all servers: we don't block any servers.