Learned about Chia Coin, and... f*ck you miners.
I think putting too much compute power into a blockchain is a huge waste, there are lots of examples here. Blockchain is a good idea, but I think Consortium Blockchain has more (power) efficiency than public chain.
Nowadays GPU price has already blown my mind, now hard disk even be able to mining? My local seller shows that Samsung's EVO 970 Plus 1T has already increased 16% of its original price.
Public chain is a good idea, and can be used in a proper way, but since mining gives miner rewards, there are always some people want to earn coins mainly in this way, rather than normal use.
Blockchain might be a influential technology, but could those developers please try to leave along with regulars PC gears and turned to some specific hardware? Nvidia might have a right step(by limiting gaming cards hashing performance to prevent mining).
I'm not sure why but I can definitely tell that JOCL is not a simple one to one OpenCL binging, it must dose some optimization somehow.
I rewrite the code from LWJGL's OpenCL to JOCL, and my timing result is here:
LWJGL's OpenCL:
320ms consumed by GPU
80ms for GPU computing and retrieving data back
605ms for CPU computing
JOCL's OpenCL:
157ms consumed by GPU
39ms for GPU computing and retrieving data back
611ms for CPU computing
With the same amount of data and exactly the same kernel, CPU time is not change that much, but GPU time is a big change.
That's amazing.
I suddenly realized that for my purposes, I can actually get rid of lwjgl and turn to JOCL or Aparapi's side. I want to simulate something and represent them as a pixel based picture and OpenGL is not that good for pixel drawing. I think any Java 2D graphic library will fit my needs.
That's a good news. Which I can get rid of LWJGL's OpenCL binding and turn to more object oriented apis.
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.
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
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...
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
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.
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 https://NordVPN.com/veritasium and use code VERITASIUM to get a 2-...
作为一个被内卷思维影响了迄今为止的大半辈子的做题家,我这辈子可能都很难摆脱内卷思维。
我人生中大多数快乐来源于“卷赢了别人”,大多数痛苦也来源于“卷不赢别人”。我不喜欢说“中国人都怎么怎么样”这样武断的话,但我还是想说,中国人真的太他妈喜欢卷了。
内卷国的人不仅自己内卷,还喜欢把不内卷的人拉进内卷的赛道,然后从卷赢他们中获得快感。内卷思维渗透进了内卷国人思维的方方面面。内卷国人要鄙视台湾人的小确幸,因为他们不努力谋求经济发展。鄙视美国人口算小学数学能力差,然后为自己被机械化训练出来的那点破心算能力洋洋自得。我一直以为湾区程序员是全世界最快乐的群体,等国一堆高级做题家跑到湾区接着卷,我总package比你的高,我房子比你的好,孩子比你的有出息。哪怕没有内卷的跑道,内卷国人也要自己铺一条出来。赚了多少钱写出了多棒的代码都不算快乐,卷赢了别人才是真的快乐。
一旦听到身边的朋友们开始讨论起学业或是offer我就觉得焦虑。我很难发自内心的为他们感到高兴,我只会暗戳戳的想“他比我优秀多了我卷不过他”然后越发焦虑。我为内卷国的人,更为我自己感到悲哀。
Abandoned since this instance is broken. Please follow my new account: @skyblond@m.skyblond.info