Browsed by
Category: Technical

Intel will ship processors with integrated AMD graphics

Intel will ship processors with integrated AMD graphics

From the Ars Technica article:

Intel has announced the 8th-generation H-series mobile processors will have a feature that’s nothing short of astonishing: they’ll integrate AMD GPUs.

The chip package will contain multiple pieces of silicon: an Intel CPU, a custom-built AMD Radeon GPU, and stacked second-generation High Bandwidth Memory (HBM2). Connecting the GPU and its memory is Intel’s new “Embedded Multi-Die Interconnect Bridge” (EMIB), a high-speed, short-range interconnect that Intel has designed to join different chips within a single package. Intel says that EMIB enables the creation of faster, thinner packages, enabling the multi-chip module to fit into slimline laptop form factors.

EMIB uses pieces of silicon to join the chips, rather than the circuit board traces found in conventional multi-chip modules. These pieces of silicon enable much denser packing of the interconnects. Overall, Intel claims that using EMIB shaves about 2.9 square inches (1,900 square millimeters) from the system motherboard and halves the power usage of a traditional design.


The company anticipates using EMIB for all kinds of integrations, such as processors with embedded FPGAs or other specialized chips. This AMD integration will be a good showcase for using the technology at scale. For AMD, it gives access to a market that tended to lean on Nvidia. Single-chip integrated graphics, even those found in AMD’s newly announced mobile Ryzen parts, just don’t offer the same performance as discrete parts with dedicated memory.

VNC on Ubuntu 16 and 17

VNC on Ubuntu 16 and 17

Works on 17.04 as well.

The biggest pain about Ubuntu is changes they made to vnc setup. Often, once you think you have it set up, you connect and get nothing but the ancient X windows grey screen with no way to interact with the UI.

This method works for 17.04 and 16.04. It’s also faster performance that other approaches.

Ubuntu 16.04 – Configure your system to have x11vnc running at startup

Summary:

sudo apt-get install x11vnc -y
sudo x11vnc -storepasswd /etc/x11vnc.pass
Edit /lib/systemd/system/x11vnc.service

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target

sudo systemctl enable x11vnc.service
sudo systemctl daemon-reload
sudo shutdown -r now

On reboot run the script:
sudo ./vnc-startup.sh

Or, just manually start it:
x11vnc -usepw -forever

Use your vnc client to connect to the system’s ip address at port :5900

Kernel compiling and the PIC mode error

Kernel compiling and the PIC mode error

If you see this when compiling an Ubuntu or other kernel (my case was a Yocto kernel on an Ubuntu 17.04 distro)

...
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CC scripts/mod/empty.o
/usr/src/linux-4.4/scripts/mod/empty.c:1:0: error: code model kernel does not support PIC mode
/* empty file to figure out endianness / word size */

 

Then the issue is with your gcc installation. In gcc 6+ versions, PIE (position independent executables) is enabled by default. So in order to compile you need to disable it. Even gcc 5 has the issue. This is a known bug for gcc. Bug Link.

So far there is no official patch from gcc side, so the workaround is to patch the Makefile of kernel source.

If you are familiar with patching the source file use the codes from this link to create the patch file then try to compile.Patch File

Here’s the patch to add to your kernel Makefile to disable PIE compiling.

diff –git a/Makefile b/Makefile
index 5c18baa..e342473 100644
— a/Makefile
+++ b/Makefile
@@ -612,6 +612,12 @@ endif # $(dot-config)
# Defaults to vmlinux, but the arch makefile usually adds further targets
all: vmlinux

+# force no-pie for distro compilers that enable pie by default
+KBUILD_CFLAGS += $(call cc-option, -fno-pie)
+KBUILD_CFLAGS += $(call cc-option, -no-pie)
+KBUILD_AFLAGS += $(call cc-option, -fno-pie)
+KBUILD_CPPFLAGS += $(call cc-option, -fno-pie)

# The arch Makefile can set ARCH_{CPP,A,C}FLAGS to override the default
# values of the respective KBUILD_* variables
ARCH_CPPFLAGS :=

 

Robotic Magic

Robotic Magic

The double pendulum problem is kind of a historical/mathematical marvel. It is very easy to predict the motion of a common, everyday clock pendulum that swings back and forth; but add another pendulum at the end of that, and the complexity shoots through the roof in the most unexpected ways. It puzzled early mathematicians for years.

The system begins to exhibit chaotic motion, and the mathematics needed to solve the motion goes from simple polynomial math to Lagrange differential equations requiring a full college program of Calculus to solve. Here’s a full solution write-up.

Solving is one problem, but making something useful out of it is even more impressive. Here are two robots that can balance not only a double pendulum, but a triple! One application would be to have self-parking and skid-controllable multi-trailer semis. There are probably many more.

If the original double-pendulum mathematicians could see this, they would consider is sorcery. If you’ve ever tried to balance a broom on your hand, you should also marvel:

Triple pendulum:

Cable robots

Cable robots

Cable robots are capable of some extremely fast and ultra-precise movements. They also scale to large sizes better than articulated ones. Check out the extremely fast and precise movement of this system:

Or large scale capable of carrying a human:

They also can be used for haptic feedback systems:

3D printed food masterpieces

3D printed food masterpieces

Ukrainian chef Dinara Kasko pairs baking and 3D printing to craft incredibly sculpted pastries that would look more at home at an art gallery than a dinner table. She works with mathematicians and sculptors to create algorithms that blend cooking and designing. Take a tasty tour of these desserts that are a treat for all the senses.

Auto generating game engines

Auto generating game engines

 

Game studios and enthusiasts may soon have a new tool at their disposal to speed up game development and experiment with different styles of play. Georgia Institute of Technology researchers have developed a new approach using an artificial intelligence to learn a complete game engine.

Their AI system watches less than two minutes of gameplay video and then builds its own model of how the game operates by studying the frames and making predictions of future events, such as what path a character will choose or how enemies might react.

Learn more here:
https://gvu.gatech.edu/ai-uses-less-two-minutes-videogame-footage-recreate-game-engine

 

Shiny Pokemon and iPhone screen recording

Shiny Pokemon and iPhone screen recording

I was fooling around with Pokemon Go and ended up getting a very rare shiny Magikarp. I also wanted to know how hard it was to record the iPhone screen and the sound. There are lots of different ways from both PC and Mac, but I used my Mac Mini and it was very easy:

  1. Connect your iPhone or iPad to your Mac via the lightning cable.
  2. Open QuickTime player.
  3. Click File then select ‘New Movie Recording’
  4. A recording window will appear (with you in it, most likely). …
  5. Select the Mic of your iPhone if you want to record music/sound effects.
  6. Click the Record button.

So, I recorded the evolution from the rare shiny Magikarp to the rare shiny Gyarados. Results were very good:

YOLO!

YOLO!

YOLO is a real-time object detection system. On a Titan X it processes images at 40-90 FPS, and it has a pretty nifty demo reel too. 🙂