Comments (3)
Sorry, accidentally submitted the issue w/o a description. I'm having the problem that with a command line like
hcc
hcc-config --ldflags``
-lm
does not end up on the command line so that when I have a program that uses math functions in the host program part it won't link. Adding -lm
manually solves the issue but this is probably not the intended way to do since libm's implementation will probably not be used on the device, right?
So what is the right way to compile with hcc, I have a program that uses math functions on both host and device side?
from hcc.
This can btw. be reproduced nicely with the following really tiny program:
// main.cpp
#include <hcc/hc_math.hpp>
//#include <cmath>
int main()
{
return (int)sqrtf(2.0f);
}
When calling
hcc
hcc-config --cxxflags --ldflags main.cpp
the linker complains:
/tmp/tmp.4WoGgeEz7y/hcc-5728f9.host.o: In function
main':
/tmp/hcc-ece2c5.s.bc:(.text+0x18): undefined reference to sqrtf'
while
hcc
hcc-config --cxxflags --ldflags hcc.cpp -lm
compiles and links just fine.
BTW: Ubuntu 14.04
$ lsb_release
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
$ uname -a
Linux XXXXXX 4.4.0-kfd-compute-rocm-rel-1.2-31 #1 SMP Fri Jul 22 06:06:24 CDT 2016 x86_64 x86_64 x86_64 GNU/Linux
hcc --version
HCC clang version 3.5.0 (based on HCC 0.10.16313-d90738a-10704f4 LLVM 3.5.0svn) Target: x86_64-unknown-linux-gnu Thread model: posix
from hcc.
@szellmann normally it's anticipated that user would link with -lm
if math functions are used in host codes. but as you mentioned, it could also be easier for users to rely on hcc-config
to provide all the necessary linker flags. I'm wondering would you mind come up with a pull request? I'd love to accept it.
from hcc.
Related Issues (20)
- HIP Program crash with missing constructor when compiled with HCC HOT 1
- HCC clamp-device segfaults compiling HIP program HOT 2
- Compiler crash in EmitCallArg
- how to increase printf buffer size in kernel code?
- 'libunwind.h' file not found
- build source code of hcc 2.10 error
- build failure
- Is hcc really deprecated? HOT 5
- compile error from source code
- Do not use system ld in hc-kernel-assemble HOT 1
- Invalid record
- CMake warning on nested find_package
- libmcwamp and libhc_am are circularly dependent
- @Ghostplant links are 404
- extractkernel for rdc code HOT 3
- running heterogeneous benchmark like chai in gem5gcn3
- Please enable two factor authentication in your github account
- How to convert LDS memory address to the address can be passed into DS_READ_* and DS_WRITE_* instructions? HOT 2
- Inline assembly of DS_WRITE_B128 compile error Don't know how to handle indirect register inputs yet for constraint 'v' HOT 1
- hipcc does not hipify __nvvm_get_smem_pointer function HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hcc.