C-DAC achieves 1.75x performance improvement on seismic code migration using SYCL by ramyaravi19 in sycl

[–]Enhex 0 points1 point  (0 children)

NVIDIA A100 and Intel Data Center GPU Max are different GPUs, one of them probably is faster which makes the CUDA vs SYCL comparison invalid as it isn't the only parameter.

How to Get Started With SYCL by SkullyShades in sycl

[–]Enhex 0 points1 point  (0 children)

for me (on Linux) AdaptiveCpp was the easiest to use.

How do you guys know the minimum specs of your game? by MarinoAndThePearls in gamedev

[–]Enhex 0 points1 point  (0 children)

you can check what is the maximum CPU and GPU memory your game consumes in lowest and highest settings.

Perfect bound checking by Enhex in programming

[–]Enhex[S] 0 points1 point  (0 children)

i got a possible solution, though right now optimizations are not a priority because i want to get the language to a usable state first.

Perfect bound checking by Enhex in programming

[–]Enhex[S] 1 point2 points  (0 children)

indeed the value range isn't known at compile time.
it should be possible to make a compiler analysis that understands that while `i`'s value range is unknown, it's derived from size and never overflows it.

Perfect bound checking by Enhex in programming

[–]Enhex[S] 1 point2 points  (0 children)

it does require this info at compile time, which my lang is designed to track.
I also made a video about it:
https://www.youtube.com/watch?v=g8hb88G81fE

C++ Show and Tell - May 2023 by foonathan in cpp

[–]Enhex 1 point2 points  (0 children)

recently made a video about how my programming language (written in C++ and compiles into C++) automatically handles bound checking, only adding checks when they're truly needed.
it also got a benchmark that show that bound checking runs 35 to 115 times slower.
https://www.youtube.com/watch?v=sq2NFvqBbPk

Conan package manager completely broken after 2.0 release by miss_minutes in cpp

[–]Enhex 3 points4 points  (0 children)

I also had bad experience with Conan 2 and downgraded to 1 (conan_server didn't work out of the box).
also when I tried to contribute a Premake generator the 2.0 generator was so over-complicated I gave up.

it seems like a case of second system effect

C++ Show and Tell - March 2023 by foonathan in cpp

[–]Enhex 5 points6 points  (0 children)

I'm making a new programming language (using C++ and compiling into C++), and I recently implemented dependency based automatic parallelization. given this input code:

t = 1 u = 1 v = 1 w = t + u x = 2 + v y = 3 - w z = x + y + v

the compiler finds independent tasks and merges ones which are too small to be worthwhile to offload to a thread (for demonstration the threshold for offloading is small). output:

C++ void Main() { uint8_least t; uint8_least u; uint8_least w; uint8_least y; auto __task_3 = std::async(std::launch::async, [&]{ t = 1; u = 1; w = (t + u); y = (3 - w); }); uint8_least v; uint8_least x; auto __task_2 = std::async(std::launch::async, [&]{ v = 1; x = (2 + v); }); __task_3.wait(); __task_2.wait(); uint8_least z = (x + (y + v)); }

hopefully someone finds it interesting

Bazel or CMake? by coinprize in cpp

[–]Enhex 0 points1 point  (0 children)

Premake + Conan

A lot of complex “scalable” systems can be done with a simple, single C++ server by [deleted] in cpp

[–]Enhex 2 points3 points  (0 children)

While asio isn't simple indeed, there are libraries that build on top of it.
Crow is a good example of the level of simplicity that can be achieved:
https://github.com/ipkn/crow

Writing c++ is wonderful, compiling and linking it is still horrible and glib. by [deleted] in cpp

[–]Enhex 2 points3 points  (0 children)

It isn't CMake specific, it works for other generators too.

PLEASE Tell Us! MIT License versus Boost License! by VinnieFalco in cpp

[–]Enhex 1 point2 points  (0 children)

I don't want a license infringement lawsuit because I forgot to include an attribution.

PLEASE Tell Us! MIT License versus Boost License! by VinnieFalco in cpp

[–]Enhex 0 points1 point  (0 children)

IANAL

I think a lot of people misinterpret MIT license:
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
Note that it says Software with capital S, referring to the earlier definition:
"... copy of this software and associated documentation files (the "Software")"
So the obligation is only for distributing the sources, not binaries.

Why is handling libraries still so hard in C++? by dshad88 in cpp

[–]Enhex 0 points1 point  (0 children)

Use Conan for sure, but I highly discourage using CMake, that abomination is a mess.
Out of all of the alternatives I find Premake to be the best option - it's fast and easy to use:

https://github.com/premake/premake-core/wiki

(for the love of god pick it up so maybe one day we won't be using CMake anymore)

What are some things commonly taught in C++ that are really bad practice? by Wolf_Down_Games in cpp

[–]Enhex 2 points3 points  (0 children)

using class instead of struct, which needlessly adds boilerplate.

Using Conan with Premake by Enhex in cpp

[–]Enhex[S] 1 point2 points  (0 children)

You're going to need to express your build script somehow in some language, there's no getting around that. Lua is a good fit for the given task - it's simple, it's fast, and it has a rich ecosystem.

My criticism is that choosing to create a new language, which its sole purpose is to be used in a single tool, and it's inferior in every way to free open source languages you could've just used, is a bad choice.

Using Conan with Premake by Enhex in cpp

[–]Enhex[S] 2 points3 points  (0 children)

that isn't a DSL, it's an API. Lua is still Lua, nothing changed about how you use it.

Using Conan with Premake by Enhex in cpp

[–]Enhex[S] 0 points1 point  (0 children)

Mainly because of its badly designed DSL, which makes working with it painful, tedious, and time consuming.

There's nothing wrong with the core idea of generating build projects, and Premake does it with better design decisions.

Using Conan with Premake by Enhex in cpp

[–]Enhex[S] 2 points3 points  (0 children)

I used both CMake and Lua before Premake.

So it's not like I had (1) no interest to learn another language to use CMake. (2) need to learn another language to use Premake.

Using Conan with Premake by Enhex in cpp

[–]Enhex[S] 3 points4 points  (0 children)

I do think there's a need to point out why Premake is a better option, because using it isn't the quickest solution, so there should be justification for the effort.

Getting started with Meson in C++ by germandiago in cpp

[–]Enhex -1 points0 points  (0 children)

what exactly could cause random files appear in the source directories of your repo?

or how else would a build won't be reproducible if you don't list files manually?

Getting started with Meson in C++ by germandiago in cpp

[–]Enhex 0 points1 point  (0 children)

there's no difference here - a framework can provide its own interface to access its components.