GithubHelp home page GithubHelp logo

Comments (16)

Yujif1Aero avatar Yujif1Aero commented on May 13, 2024 1

Thank you for replying @ProjectPhysX . Sorry, your modified code doesnt work.
However, I have tried to modify your code, and I have got the solution.
I have modified TYPE number like this,
image

Due to it, your code is working now!!!
image

Could you review this? Let me know this solution is correct or not,
**I use as same kernel.cpp as on your code in src/.
Yuji from Japan,
Best,

from fluidx3d.

Yujif1Aero avatar Yujif1Aero commented on May 13, 2024 1

@ProjectPhysX
Calculation is done. My GPU bench mark is here.
image

from fluidx3d.

Yujif1Aero avatar Yujif1Aero commented on May 13, 2024 1

Hi @ProjectPhysX ,
I did these benchmarks,
FP16C;
image

FP16S;
image
Moreover GPU's name is here.
image

Best,

from fluidx3d.

ProjectPhysX avatar ProjectPhysX commented on May 13, 2024 1

@Yujif1Aero thank you!!

from fluidx3d.

ProjectPhysX avatar ProjectPhysX commented on May 13, 2024

Thank you for the bug report!
The OpenCL C code itself in all these places is correct, so this seems to be an issue with the C++ stringification macro being confused with brackets by your compiler. Unfortunately I can't replicate this on any of my systems. What compiler version do you use?
Try this: In src/kernel.cpp, replace )+") {"+R( // ... with )+")"+R( { // ... in lines 1278, 1385 and 1725. Let me know if it works, then I'll update it in the repository.

from fluidx3d.

BurgaoTheChamp avatar BurgaoTheChamp commented on May 13, 2024

I'm using this version
image
I'll try to update my compiler and also to do that suggestion and I'll report soon about the kernel.cpp

from fluidx3d.

BurgaoTheChamp avatar BurgaoTheChamp commented on May 13, 2024

Same error
image
btw I updated my compiler too
image

from fluidx3d.

PavelBlend avatar PavelBlend commented on May 13, 2024

I am getting the same error. I am using exe files from release:
https://github.com/ProjectPhysX/FluidX3D/releases/tag/v1.0

I don't know how to compile sources myself.

My CPU:
AMD A8-5600K APU with Radeon(tm) HD Graphics

Integrated GPU:
AMD Radeon HD 7560D ATI Technologies Inc. 4.5.13399 Core Profile Context 15.201.1151.1008

External GPU:
Missing

I run the program like this:
FluidX3D-Benchmark-FP32-FP16C-Windows.exe 0

or so:
FluidX3D-Benchmark-FP32-FP16C-Windows.exe 1

from fluidx3d.

PavelBlend avatar PavelBlend commented on May 13, 2024

I was able to run FluidX3D-Benchmark-FP32-FP32-Windows.exe on a GeForce GT 710.

from fluidx3d.

Shubham-wiz avatar Shubham-wiz commented on May 13, 2024

FluidX3D-Benchmark-FP32-FP32-Windows.exe working fine on amd 5600x with 3060

from fluidx3d.

ProjectPhysX avatar ProjectPhysX commented on May 13, 2024

It seems this is a driver bug with some very old AMD/ATI toasters.
With such driver bugs there sometimes is the possibility to avoid them with weird code circumventions and/or contacting the AMD driver team. But I would need to have the hardware to try&error-fix this, so unfortunately there is not really something I can do. I'll leave this thread open in case someone of you finds a solution.

from fluidx3d.

ProjectPhysX avatar ProjectPhysX commented on May 13, 2024

I've got another idea what causes this bug: the preprocessor seems to not replace the flag types with their bit patterns. Try a search-and-replace-all in src/kernel.cpp, replacing TYPE_S with 0b00000001 and so forth, for all the types listed below:

#define TYPE_S 0b00000001 // (stationary or moving) solid boundary
#define TYPE_E 0b00000010 // equilibrium boundary (inflow/outflow)
#define TYPE_T 0b00000100 // temperature boundary
#define TYPE_F 0b00001000 // fluid
#define TYPE_I 0b00010000 // interface
#define TYPE_G 0b00100000 // gas
#define TYPE_X 0b01000000 // reserved type X
#define TYPE_Y 0b10000000 // reserved type Y

#define TYPE_MS 0b00000011 // node next to moving solid boundary
#define TYPE_BO 0b00000011 // any flag bit used for boundaries (temperature excluded)
#define TYPE_IF 0b00011000 // change from interface to fluid
#define TYPE_IG 0b00110000 // change from interface to gas
#define TYPE_GI 0b00111000 // change from gas to interface
#define TYPE_SU 0b00111000 // any flag bit used for SURFACE

from fluidx3d.

ProjectPhysX avatar ProjectPhysX commented on May 13, 2024

@Yujif1Aero I have done the replacements in src/kernel.cpp. Try with this file (unzip and copy+paste): kernel.zip

from fluidx3d.

ProjectPhysX avatar ProjectPhysX commented on May 13, 2024

Hi @Yujif1Aero, thank you so much for finding the culprit! It seems that the old AMD compiler cannot handle binary-formatted number literals. Changing to hexadecimal notation fixes that. I just updated the repository!

Can you add the FP16S/FP16C benchmarks too please? Just uncomment the corresponding line in src/defines.hpp and recompile. And what exact model is your GPU? Thanks!

from fluidx3d.

Yujif1Aero avatar Yujif1Aero commented on May 13, 2024

Thank your for quick updating @ProjectPhysX.
Sure, I will add the FP16S/FP16C benchmarks and look up exact model name, after I take classes.
Wait for a while please.
I will start reading your code from tommorow. Could I ask you questions again if I struggle with reading?
Acctually, I even cannot understand your code loyout becuse your code is so amaging.

from fluidx3d.

Yujif1Aero avatar Yujif1Aero commented on May 13, 2024

@ProjectPhysX
I found exact GPU name, Radeon HD 7850
IMG-1996

from fluidx3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.