I renamed Scalag to Cyfra, and added to some pretty cool features. You can now use directly nested Scala case class structures on GPU, pass uniforms, and more. Using that, I created a function animation renderer Foton, written fully in Scala. https://t.co/238ARDNY9k
#scala
See you on my Painting with Functions talk at #LambdaDays tomorrow! I will show you how, with our new library, functional Scala code can be run on a GPU. Then, we will implement a proper ray tracer to render images like this one:
I achieved an interesting performance improvement today by changing an opaque type from Int to java.lang.Integer.
It may look counter-intuitive, but these IDs were used mostly by Maps or Sets. Map#get and Set#contains cause boxing and extra allocations on every call.
@oNouguier I don't have Mac on hand right now unfortunately, and last time I was running it on OS X was about half year ago. But try removing line 58 and 59 from build.sbt, there is high chance that it will help.
Only 6 days left! We're calling on all innovators, creators, and problem-solvers to share their passion projects, groundbreaking ideas, and ambitious endeavours. Whether it's an eye-opening concept, a brain-teasing challenge, or a fresh perspective on #FunctionalProgramming, we want to hear from you!
This is your chance to showcase your work, inspire the community, and contribute to the ever-evolving world of cutting-edge technology. Don’t miss out—submit your proposal today!
👉 https://t.co/AfpN34DKoT
🎥 AI: logic vs heuristics—two paths, one future?
In "The Two Cultures of Artificial Intelligence" Lambda Days 2024 talk, Philip Wadler contrasts the origins and challenges of AI, shedding light on its role in shaping programming.
Watch the talk now: https://t.co/qwHRn66Nzt
I will be speaking at @LambdaDays this year! :)
I will show how functional Scala with Cyfra can be used to develop GPU programs such as ray tracers and ray marchers - we will develop one live. Ambitious plan now is to clean up, expand and release Cyfra.
https://t.co/abZxmBMmyJ
@ghostdogpr@TomekGodzik It should work, definitely with a small project. I use it all the time. Changing server to sbt usually helps if something goes wrong.
Coding those animations is quite fun and I encourage you to try it out if you want :) However, now you would need to fork and build the project yourself, but if you need any help with that, ask me here. Before release I need to do a lot of clean up and optimizations.
I renamed Scalag to Cyfra, and added to some pretty cool features. You can now use directly nested Scala case class structures on GPU, pass uniforms, and more. Using that, I created a function animation renderer Foton, written fully in Scala. https://t.co/238ARDNY9k
#scala
@andrzejdragan Panie Profesorze, bardzo ładna niekonsensualna zbiorowa praca artystów z deviantarta (i innych platform). Etyka jest częścią filozofii, a często podpisuje się Pan właśnie jako doktor filozofii, więc zastanawia mnie Pana spojrzenie na etyczną stronę podpisywania się jako autor.
Your help is welcomed 📝
How extensively is Scala used in the public sector?
We are collecting all examples to make a strong case to apply for funding to help maintain the critical infrastructure.
Share with us by filling out the form or by replying!
https://t.co/eCnXVGt1zS
Here is the project repository: https://t.co/QaAXYm4dRR
And here is the code of the raytracer:
https://t.co/ODIzDlPoz0
Still a lot has to be done and cleaned, but we are planning to release an alpha version soon. Would you like to run part of your stream processing on GPU?
Path-tracing running on GPU, written purely in Scala 3? It is now possible with Scalag! Below is a scene rendered with Scala 3 gpu path tracer. It is just one example of Scala programs you will be able to run natively on a GPUs. Details and code in thread. #scala#gpu#scalag
In essence, it compiles code written in Scala 3 with Scalag DSL to spir-v, that you can then run with provided Vulkan runtime on one of many platforms: Mac, Linux, Windows, and most of GPUs. It supports, among other features, case classes and basic declarative collections: